溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

ios中數(shù)據(jù)對(duì)象NSNumber怎么用

發(fā)布時(shí)間:2021-12-24 15:21:08 來(lái)源:億速云 閱讀:198 作者:小新 欄目:移動(dòng)開發(fā)

這篇文章主要為大家展示了“ios中數(shù)據(jù)對(duì)象NSNumber怎么用”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“ios中數(shù)據(jù)對(duì)象NSNumber怎么用”這篇文章吧。

1  Number Objects

integers, floats, and longs在object-c中是基本的數(shù)據(jù)類型,不是數(shù)據(jù)對(duì)象。

為什么需要使用數(shù)據(jù)對(duì)象:假如你想把數(shù)據(jù)存到NSArray中,NSArray是不能存儲(chǔ)基本的數(shù)據(jù)類型的,所以需要把基本的數(shù)據(jù)類型

轉(zhuǎn)化為數(shù)據(jù)對(duì)象,然后存到NSArray中去。 所以這是數(shù)據(jù)對(duì)象的用處。

1.1 創(chuàng)建一個(gè)整型的數(shù)據(jù)對(duì)象

NSNumber *intNumber;

NSInteger myInt;


intNumber = [NSNumber numberWithInteger: 100];
還可以采用這樣的初始化:intNumber = @100;

//把數(shù)據(jù)對(duì)象轉(zhuǎn)化成基本數(shù)據(jù)類型

myInt = [intNumber integerValue];
NSLog (@"%li", (long) myInt);

注意如下訪問(wèn)是錯(cuò)誤的:

NSLog (@"%li", (long) [myNumber integerValue]);


2 數(shù)據(jù)對(duì)象的比較

isEqualToNumber : 比較2個(gè)數(shù)據(jù)對(duì)象是否相等

compare:               比較2個(gè)數(shù)據(jù)對(duì)象的大小

A compare:B

NSOrderedAscending  : A<B

NSOrderedSame        : A=B

NSOrderedDescending: A>B

3 數(shù)據(jù)對(duì)象不可改變

NSNumber *myNumber = [[NSNumber alloc] initWithInt: 50];
...
[myNumber initWithInt: 1000];

這樣的代碼會(huì)讓程序掛掉, 數(shù)據(jù)對(duì)象只能被初始化一次

4 numberWithInt: VS numberWithInteger:  

使用numberWithInt:方法只能用intValue把它的值還原到基本類型,可以使用%i 打印出來(lái)

使用 numberWithInteger:方法,只能用integerValue把它的值還原到基本類型,可以用%li打印出來(lái)它的值

5 api應(yīng)用如下:

numberWithChar:                initWithChar:                          charValue

numberWithUnsignedChar:   initWithUnsignedChar:             unsignedCharValue

numberWithShort:               initWithShort:                          shortValue

numberWithUnsignedShort:   initWithUnsignedShort:           unsignedShortValue

numberWithInteger:              initWithInteger:                     integerValue

numberWithUnsignedInteger:   initWithUnsignedInteger:       unsignedIntegerValue

numberWithInt:                      initWithInt:                           intValue

numberWithUnsignedInt:        initWithUnsignedInt:               unsignedIntValue

numberWithLong:                  initWithLong:                         longValue

numberWithUnsignedLong:     initWithUnsignedLong:            unsignedLongValue

numberWithLongLong:           initWithLongLong:                  longlongValue

numberWithUnsignedLongLong:  initWithUnsignedLongLong:  unsignedLongLongValue

numberWithFloat:                 initWithFloat:                         floatValue

numberWithDouble:              initWithDouble:                      doubleValue

numberWithBool:                  initWithBool:                          boolValue

以上是“ios中數(shù)據(jù)對(duì)象NSNumber怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI