我有下面的代碼:無法轉換_NSCFNumber爲int
id value = characteristic.value;
long valueBefore = (long)characteristic.value;
int valueAfter = (int) valueBefore;
將會產生以下值:
當我看值ID之我見「(長)6「這是我期望的值()。但是,當我把它扔到很長時間,我得到-5764..etc..781。這是爲什麼?
如何將值轉換爲值爲6的int?調試器說這個值是_NSCFNumber。
「typecasting」是發生在總是扮演類似角色的電影演員身上的事情。 「鑄造」是向編譯器顯式請求將一種類型的值轉換爲另一種類型的值。你在做什麼都不是,它正在調用一個NSNumber的方法。哪一個是正確的,但不是投射。左手邊應該有NSInteger類型。 – gnasher729
@ gnasher729這就是我的錯誤,我寫了Typecasting而不是投射,在我的回答中,我剛剛給出了一個語法,在左邊我們可以添加適當的數據類型,右邊我們必須相應地放置代碼。 – iYoung