iOS NSNumber

NSNumber


繼承自C語言的基礎變量類型(int, char, float等)不能被添加到數組和字典等OC專有的數據結構中。可以先將基礎類型數據,存入NSNumber對象,再將NSNumber對象存入數組或字典中。


//創建NSNumber對象

NSNumber *num1 = [NSNumber numberWithInt:5];

NSNumber *num2 = [NSNumber numberWithFloat:5.0f];

NSNumber *num3 = [NSNumber numberWithDouble:5.2];

NSNumber *num4 = [NSNumber numberWithChar:'a'];

NSNumber *num5 = [NSNumber numberWithBool:YES];


//NSNumber對象插進數組

NSArray *array = @[num1, num2, num3, num4, num5];


//將數組中的對象類型還原

int ret1 = [array[0] intValue];

float ret2 = [array[1] floatValue];

double ret3 = [array[2] doubleValue];

char ret4 = [array[3] charValue];

BOOL ret5 = [array[4] boolValue];


//比較兩個NSNumber對象是否相等

BOOL ret6 = [num1 isEqualToNumber:num2];

if (ret6) {

     NSLog(@"num1等於num2");

}else {

     NSLog(@"num1不等於num2");

}


//判斷兩個NSNumber對象的大小

NSComparisonResult ret7 = [num2 compare:num3];

if (ret7 == NSOrderedAscending) {

     NSLog(@"右邊大");

}else if (ret7 == NSOrderedSame){

     NSLog(@"相等");

}else {

     NSLog(@"左邊大");

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章