首页 > 学院 > 开发设计 > 正文

IOS学习笔记2015-03-20OC-数值类型

2019-11-14 19:24:12
字体:
来源:转载
供稿:网友
一 定义 在Objective-C中,我们可以使用c中的数字数据类型,int、float、long等。它们都是基本数据类型,而不是对象。也就是说,不能够向它们发送消息。然后,有些时候需要将这些值作为对象使用。二 关键字1 NSInteger  int 包装类型  	A 当你不知道程序运行哪种处理器架构时,你最好使用NSInteger,因为在有可能int在32位系统中只是int类型,	而在64位系统,int可能变是long型。除非不得不使用int/long型,否则推荐使用NSInteger。	B 从上面的定义可以看出NSInteger/NSUInteger是一种动态定义的类型,在不同的设备,不同的架构,	有可能是int类型,有可能是long类型。2 NSUInteger 是无符号的,即没有负数,NSInteger是有符号的。   3 NSNumber 	A 专门用来装基础类型的对象,把整型、单精度、双精度、字符型等基础类型存储为对象	B NSNumber可以将基本数据类型包装起来,形成一个对象,这样就可以给其发送消息,装入NSArray中	C NSInteger和普通数据类型是不能被封装到数组中的

 

////  main.m//  OC-NSNumber////  Created by wangtouwang on 15/3/20.//  Copyright (c) 2015年 wangtouwang. All rights reserved.//#import <Foundation/Foundation.h>int main(int argc, const char * argv[]) {    @autoreleasepool {        // insert code here...        //创建        NSNumber *_n1 = [[NSNumber alloc] initWithInt:9];        NSNumber *_n2 = [[NSNumber alloc] initWithFloat:8.1f];        NSNumber *_n3 = [[NSNumber alloc] initWithDouble:8.1];        NSNumber *_n4 = [[NSNumber alloc] initWithChar:'A'];        NSLog(@"N1=%@ N2=%@ N3=%@ n4=%@",_n1,_n2,_n3,_n4);        //还原        // 转换为int        int n1 = [_n1 intValue];        //转换为double        double n3 = [_n3 doubleValue];        //转换为 float        float n2 = [_n2 floatValue];        // 转换为 char        char n4 = [_n4 charValue];         NSLog(@"N1=%i N2=%f N3=%f n4=%c",n1,n2,n3,n4);        //比较是否相等        NSLog(@"%@",[_n3 isEqualToNumber:_n2]?@"==":@"!=");        //比较大小         NSLog(@"%ld",[_n1 compare:_n2]);                //数组可以增加NSNumber对象        NSMutableArray *_array2 = [[NSMutableArray alloc] initWithObjects:_n1,_n2,_n3,_n4, nil];        NSInteger INDEX= 12;        //尝试用数组增加NSInteger对象 结果报错了,说明语法不支持//         NSMutableArray *_array1 = [[NSMutableArray alloc] initWithObjects:_n1,_n2,_n3,_n4, INDEX,nil];//        NSLog(@"%lu",[_array1 count]);    }    return 0;}

 


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表