在OC中已经有许多的基本类型,但是为什么还要有NSNumber呢?
原因就是int,long等基本类型不能被存到NSArray和NSMutabeArray中,因为NSArray和NSMutabeArray中只能存储OC的对象,而int,long等基本类型是不能存入的,但要是需求确实需要存入基本类型的数据怎么办呢?这时候用NSNumber转换一下就能存入了。
例如想存一个1到NSMutabeArray中:
NSMutableArray*testArray = [[NSMutableArrayalloc]init];
[testArrayaddObject:1];
这样编译器会报错:
所以得用NSNumber转一下:
NSMutableArray*testArray = [[NSMutableArray alloc] init];
NSNumber*number = [[NSNumberalloc]initWithInt:1];
[testArrayaddObject:number];
打印一下,就能把1转入NSMutableArray中
NSLog(@"%@",testArray);
网友评论