快速問題 - 是否可以將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. 轉換的NSNumber到NSInteger的
- 2. 如何將NSData字節轉換爲NSNumber或NSInteger?
- 3. 是否可以將VBA轉換爲C#?
- 4. 是否可以將View轉換爲ViewGroup?
- 5. 是否可以將byte []轉換爲bitmapsource?
- 6. 是否可以將MBCS轉換爲DBCS?
- 7. 將NSNumber與NSInteger比較
- 8. 將NSNumber轉換爲Double(CLLocationDegrees)
- 9. 如何將一個double轉換爲NSInteger?
- 10. Swift:將Int16轉換爲Int32(或NSInteger)
- 11. 如何將NSString的值轉換爲NSInteger
- 12. 如何將NSIndexPath轉換爲NSInteger?
- 13. 如何將NSinteger轉換爲字符串
- 14. 如何將NSInteger轉換爲NSTimeInterval
- 15. 如何將NSString轉換爲NSInteger
- 16. 如何將NSDecimalNumber轉換爲NSInteger?
- 17. 如何將NSDecimal值轉換爲NSInteger值?
- 18. 如何將NSInteger轉換爲NSTimeInterval
- 19. 是否可以將查詢的輸出轉換爲可能?
- 20. Swift array.map將NSNumber轉換爲UInt
- 21. 將浮點數轉換爲NSNumber
- 22. 如何將typedef枚舉轉換爲NSNumber?
- 23. 如何將UITextField的值轉換爲NSNumber?
- 24. 在Swift中將CGFloat轉換爲NSNumber
- 25. 如何將NSNumber轉換爲NSString
- 26. 如何將nsnumber轉換爲浮點數
- 27. 如何將NSDecimalNumber轉換爲NSNumber
- 28. 麻煩轉換NSNumber爲int
- 29. 轉換的NSNumber爲int
- 30. 隱式轉換NSNumber *爲int
這是絕對有可能投一個NSInteger到一個NSNumber *。結果很可能導致崩潰。當然,如果你有一個數字x,你可以使用@(x)創建一個值爲x的NSNumber對象。哪個會起作用,但不是演員。 – gnasher729 2014-05-11 21:26:39