15、OC 包裝類(NSNumber、NSValue)
阿新 • • 發佈:2019-02-09
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //使用類方法建立 NSNumber* pai = [NSNumber numberWithDouble:3.1415]; NSLog(@"%@",pai); //NSNumber是一個類簇,使用同一個類名,建立不同物件 NSNumber *intNumber = [[NSNumber alloc]initWithInt:10]; NSNumber *floatNumber = [[NSNumber alloc]initWithFloat:3.14f]; NSNumber *doubleNumber = [[NSNumber alloc]initWithDouble:10]; NSNumber *charNumber = [[NSNumber alloc]initWithChar:'A']; //比較大小 BOOL ret = [intNumber isEqualToNumber:doubleNumber]; NSLog(@"%d",ret); if([intNumber compare:floatNumber]==NSOrderedAscending){ NSLog(@"<"); }else if([intNumber compare:floatNumber]==NSOrderedSame){ NSLog(@"="); }else if([intNumber compare:floatNumber]==NSOrderedDescending){ NSLog(@">"); } //還原基本資料型別資料 NSLog(@"%d",[intNumber intValue]); NSLog(@"%f",[floatNumber floatValue]); NSLog(@"%f",[doubleNumber doubleValue]); NSLog(@"%c",[charNumber charValue]); //OC允許自動裝箱機制,但是自動裝箱不支援ARC,所以在開啟ARC時會報錯 //NSNumber* i1 = 10; } return 0; }