NSNumber與NSInteger轉換遇到的問題

2021-07-05 21:04:42 字數 629 閱讀 6322

先貼**:

import .h>

int main(int argc, const

char * argv)

return

0;}

輸出的結果為:

2015-10-14

22:36:11.096 data[8213:381135] `value_1=10,value_2=2599`

program ended with

exit code: 0

為什麼是value_1value_2的值不一樣呢?這也是我在寫專案時遇到的問題,先解釋下知識點:

其中,nsintegercgfloat是基本資料型別,而nsvaluensnumber是包裝類,nsvaluensnumber的父類。

理解了這些知識點後,不難理解上面的**的輸出結果,nsnumber是個物件,不能直接通過(int)來轉換,而只能通過[number integervalue]方法來獲取值。

NSNumber與NSInteger的區別

objective c 支援的型別有兩種 基本型別 和 類。基本型別,如同c 語言中的 int 型別一樣,拿來就可以直接用。而類在使用時,必須先建立乙個物件,再為物件分配空間,接著做初始化和賦值。類的初始化,需用類自身的方法 類方法 中所建立的物件,不用後,還得記著釋放。做了這麼多鋪墊,具體到 ns...

NSNumber判斷數值物件型別

參考 nsnumber判斷數值物件型別 今天對在解析plist時候發現,在plist裡nsnumber裡面寫的是什麼樣的資料,你讀出來時,依據數值接近的型別轉換 nscfnumber double 0.11 nscfnumber long 1 nscfnumber bool 1 當我想要判斷讀出來的...

iOS OC 基礎 NSNumber常用方法

nsnumber數值物件 將基本資料型別儲存為nsnumber 物件型別 nsnumber intnum nsnumber numberwithint 10 nslog num intnum nsnumber floatnum nsnumber numberwithfloat 10.32 nslog...