NSNumber创建方法
在C语言中有基本数据类型, 在OC语言上也有基本数据类型, 但OC和C的基本数据类型不太一样, 在OC上它把基本数据类型全部都包含在一个类里面, 这个我们可以称为类簇, 也可以叫基本数据类型集合(NSNumber).
由于OC是面向对象的, 所以它所有的东西都要有一个对象, 而NSNumber这个类簇就刚好可以解决基本数据类型的问题.
涉及到的方法:
initWithInt: 初始化int基本数据类型的对象.
initWithFloat: 初始化float基本数据类型对象, 注意(float类型的写法要在浮点数后面加上一个f或者F).
initWithDouble: 初始化都double基本数据类型对象.
initWithChar: 初始化char基本数据类型对象.
intValue: 还原int基本数据类型的数据.
floatValue: 还原float基本数据类型的数据.
doubleValue: 还原double基本数据类型的数据.
charValue: 还原char基本数据类型的数据.
下面我们来看看例子:
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //创建NSNumber的基本数据类型对象 NSNumber *intNumber = [[NSNumber alloc]initWithInt:51]; NSNumber *folatNumber = [[NSNumber alloc]initWithFloat:3.14f]; NSNumber *doubleNumber = [[NSNumber alloc]initWithDouble:6.28]; NSNumber *charNumber = [[NSNumber alloc]initWithChar:'A']; //通过下面的方法, 我们可以还原基本数据类型的数据. NSLog(@"%d", [intNumber intValue]); NSLog(@"%f", [folatNumber floatValue]); NSLog(@"%f", [doubleNumber doubleValue]); NSLog(@"%c", [charNumber charValue]); [intNumber release]; [folatNumber release]; [doubleNumber release]; } return 0; }
输出来的结果:
2014-10-13 21:41:51.593 NSNumber[6872:303] 51 2014-10-13 21:41:51.595 NSNumber[6872:303] 3.140000 2014-10-13 21:41:51.595 NSNumber[6872:303] 6.280000 2014-10-13 21:41:51.595 NSNumber[6872:303] A Program ended with exit code: 0