? 在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);