NSArray、NSDictionary是不可以存储C语言中的基本数据类型的。NSNumber可以将基本数据类型包装成对象,这样可以间接将基本数据类型存进NSArray、NSDictionary等集合类中。用法如下:
#import <Foundation/Foundation.h> void number() { // 将int类型的10 包装成 一个NSNumber对象 NSNumber *number = [NSNumber numberWithInt:10]; NSLog(@"number=%@", number); NSMutableArray *array = [NSMutableArray array]; // 添加数值到数组中 [array addObject:number]; // 取出来还是一个NSNumber对象,不支持自动解包(也就是不会自动转化为int类型) NSNumber *number1 = [array lastObject]; // 将NSNumber转化成int类型 int num = [number1 intValue]; NSLog(@"num=%i", num); }