Objective-C中的NSNumber数字对象

来源:互联网 发布:java 命令没有提示 编辑:程序博客网 时间:2024/05/17 09:07

有时我们会需要把基本数据类型转换成对象来处理,比如,把基本类型放入到集合中(cocoa中集合只能存放对象,无法存放基本数据类型),OC中提供了数字对象“NSNumber”可以将基本数据类型“包装”成对象。NSNumber的父类是NSValue。

1. 数字对象的初始化

//类方法创建数字对象,不需要内存管理int number = 10;NSNumber *intNumber = [NSNumber numberWithInt:number];BOOL isBool = YES;NSNumber *boolNumber = [NSNumber numberWithBool:isBool];

//实例方法创建数字对象,需要内存管理float pi = 3.14;NSNumber *piNumber = [[NSNumber alloc] initWithFloat:pi];char character = 'a';NSNumber *cNumber = [[NSNumber alloc] initWithChar:character];

2. 数字对象的转换

//还原成基本数据类型int month = [intNumber intvalue];Bool isOpen = [boolNumer boolValue];float length = [piNumber floatValue];char firstName = [cNumber charValue];


原创粉丝点击