NSNumber
初始化
NSNumber是NSValue的一個(gè)子類(lèi)筛峭,可以將數(shù)據(jù)類(lèi)型轉(zhuǎn)換為對(duì)象類(lèi)型方便操作
NSNumber *num1 = [NSNumber numberWithInt:101];
相應(yīng)的將對(duì)象類(lèi)型轉(zhuǎn)換成數(shù)據(jù)類(lèi)型
NSLog(@"%d",num1.intValue);
比較方法
NSNumber *num2 = [NSNumber numberWithInt:12];
NSLog(@"cmp = %ld",[num1 compare:num2]);
在NSNumber中的比較是比較數(shù)字大小艰猬,而在NSString中的比較是比較相同位置上字符的大猩粝!锅铅;
NSValue
初始化
可以將一些其他數(shù)據(jù)類(lèi)型轉(zhuǎn)換成對(duì)象類(lèi)型
NSValue *value1 = [NSValue valueWithRange:NSMakeRange(1,4)];
NSValue *value2 = [NSValue valueWithBytes:(const void *)value objCType:@encode(type)];
//valueWithBytes objCType方法可以將自定義結(jié)構(gòu)體類(lèi)型的數(shù)據(jù)轉(zhuǎn)換成對(duì)象草娜,Bytes后面寫(xiě)結(jié)構(gòu)體數(shù)據(jù)的名字陪踩,objCType后面的@encode()括號(hào)里寫(xiě)自定義結(jié)構(gòu)體名字;