OC中集合类中只能存储OC对象不能存储基本数据类型,所以需要把基本数据类型进行包装起来,在放入集合类中。
1.存入集合类:基本数据类型 -> 包装类型(NSNumber) -> 存入集合类
2.取出集合类:从集合中取出包装类型 -> 包装类型(NSNumber) -> 基本数据类型
如何去创建一个NSNumber类对象:
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
//******1.创建,基本数据类型转包装类型
//1.1类方法
NSNumber *num1 = [NSNumber numberWithInt:1];
num1 = [NSNumber numberWithDouble:8.8];
num1 = [NSNumber numberWithChar:'a'];
NSLog(@"%@",num1);
//1.2对象方法
NSNumber *num2 = [[NSNumber alloc] initWithBool:YES];
NSLog(@"%@",num2);
//******2.包装类型转基本数据类型
int i = num1.intValue;
double d = num1.doubleValue;
float f = num1.floatValue;
BOOL is = num1.boolValue;
char c = num1.charValue;
NSLog(@"%d,%lf,%f,%d,%c",i,d,f,is,c);
//******3.快捷创建方法,在数据类型前面加@(最常用)
num1 = @1;
num1 = @YES;
num1 = @'b';
NSLog(@"%@",num1);
}
return 0;
}