快速問題 - 是否可以將NSInteger轉換爲NSNumber對象?我需要將UIImageView對象的標籤轉換爲NSNumber對象,因爲我需要將它作爲參數傳遞給函數。是否可以將NSInteger轉換爲NSNumber?
回答
你不能轉換它因爲NSInteger
不是一個對象,只是一個內置類型的別名。你總是可以從NSInteger
創建一個新的NSNumber
對象,像這樣:
NSNumber *myNum = @(myNsIntValue);
或編譯器的早期版本,使用
NSNumber *myNum = [NSNumber numberWithInteger:myNsIntValue];
此答案在新的64位設備上產生警告。請參閱下面的@ Kevin更準確的答案。 – 2014-01-05 17:33:23
@FullDecent編輯,謝謝! – dasblinkenlight 2014-01-05 18:37:02
這是比較正確的答案,它不會產生意外錯誤。
NSNumber *myNum = [NSNumber numberWithInteger:myNsIntValue];
由於DOC表示:
「numberWithInteger: 創建並返回包含一個給定的值一個NSNumber對象,將它視爲一個NSInteger」
「numberWithInt: 創建並返回一個包含給定值的NSNumber對象,將其視爲一個帶符號的int。」
因爲Apple LLVM Compiler 4.0
,有創造NSNumber
對象更簡單的方法:
NSNumber *x = @1234;
NSNumber *y = @(anIntegerVariable);
NSNumber * z = @(aDoubleValue);工作也一樣。 – gnasher729 2014-05-11 21:27:24
- 1. 瞭解語法(將NSInteger轉換爲NSNumber)
- 2. 轉換的NSNumber到NSInteger的
- 3. 如何將NSData字節轉換爲NSNumber或NSInteger?
- 4. 如何將可選的NSInteger轉換爲非可選的NSInteger?
- 5. 將NSInteger轉換爲NSIndexpath
- 6. 將CFIndex轉換爲NSInteger
- 7. 將NSInteger轉換爲NSUInteger?
- 8. NSNumber與0轉換爲NSInteger/NSUInteger變爲零
- 9. 是否可以將byte []轉換爲bitmapsource?
- 10. 是否可以將MBCS轉換爲DBCS?
- 11. 是否可以將View轉換爲ViewGroup?
- 12. 是否可以將Button轉換爲TextView?
- 13. 是否可以將TextPointer轉換爲Integer
- 14. 是否可以將wpa_supplicant.conf轉換爲NetworkManager?
- 15. 是否可以將VBA轉換爲C#?
- 16. 將NSNumber與NSInteger比較
- 17. 將NSNumber轉換爲Double(CLLocationDegrees)
- 18. 將長NSString轉換爲NSNumber
- 19. 我可以使用泛型將NSNumber快速轉換爲T嗎?
- 20. 轉換NSInteger的以字節
- 21. Swift:將Int16轉換爲Int32(或NSInteger)
- 22. 如何將NSDecimalNumber轉換爲NSInteger?
- 23. 如何將一個double轉換爲NSInteger?
- 24. 如何將NSIndexPath轉換爲NSInteger?
- 25. 如何將NSInteger轉換爲NSTimeInterval
- 26. 如何將NSString轉換爲NSInteger
- 27. 如何將NSString的值轉換爲NSInteger
- 28. 如何將NSinteger轉換爲字符串
- 29. 如何將NSDecimal值轉換爲NSInteger值?
- 30. 如何將NSInteger轉換爲NSTimeInterval
這是絕對有可能投一個NSInteger到一個NSNumber *。結果很可能導致崩潰。當然,如果你有一個數字x,你可以使用@(x)創建一個值爲x的NSNumber對象。哪個會起作用,但不是演員。 – gnasher729 2014-05-11 21:26:39