有時我們會需要把基本數據類型轉換成對象來處理,比如,把基本類型放入到集合中(cocoa中集合只能存放對象,無法存放基本數據類型),OC中提供了數字對象“NSNumber”可以將基本數據類型“包裝”成對象。NSNumber的父類是NSValue。
1. 數字對象的初始化
//類方法創建數字對象,不需要內存管理
int number = 10;
NSNumber *intNumber = [NSNumber numberWithInt:number];
BOOL isBool = YES;
NSNumber *boolNumber = [NSNumber numberWithBool:isBool];
//實例方法創建數字對象,需要內存管理
float pi = 3.14;
NSNumber *piNumber = [[NSNumber alloc] initWithFloat:pi];
char character = 'a';
NSNumber *cNumber = [[NSNumber alloc] initWithChar:character];
2. 數字對象的轉換
//還原成基本數據類型
int month = [intNumber intvalue];
Bool isOpen = [boolNumer boolValue];
float length = [piNumber floatValue];
char firstName = [cNumber charValue];