标题 | iOS开发int,NSInteger,NSUInteger,NSNumber的使用 |
内容 | 1、当需要使用int类型的变量的时候,可以像写C的程序一样,用int,也可以用NSInteger,但更推荐使用NSInteger,因为这样就不用考虑设备是32位的还是64位的。 2、NSUInteger是无符号的,即没有负数,NSInteger是有符号的。 3、有人说既然都有了NSInteger等这些基础类型了为什么还要有NSNumber?它们的功能当然是不同的。 NSInteger是基础类型,但是NSNumber是一个类。如果想要存储一个数值,直接用NSInteger是不行的,比如在一个Array里面这样用: NSArray *array= [[NSArray alloc]init]; [array addObject:3];//会编译错误 这样是会引发编译错误的,因为NSArray里面放的需要是一个类,但‘3’不是。这个时候需要用到NSNumber: NSMutableArray *array= [[NSMutableArray alloc]init]; [array addObject:[NSNumber numberWithInt:3]]; 一下两行代码是会有警告的 因为NSArray 是不可变的. NSArray *array1= [[NSArray alloc]init]; [array1 addObject:[NSNumber numberWithInt:3]]; Cocoa提供了NSNumber类来包装(即以对象形式实现)基本数据类型。 例如以下创建方法: + (NSNumber*)numberWithChar: (char)value; + (NSNumber*)numberWithInt: (int)value; + (NSNumber*)numberWithFloat: (float)value; + (NSNumber*)numberWithBool: (BOOL) value; 将基本类型数据封装到NSNumber中后,就可以通过下面的实例方法重新获取它: - (char)charValue; - (int)intValue; - (float)floatValue; - (BOOL)boolValue; - (NSString*)stringValue; |
随便看 |
|
在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。