快速问题 - 是否可以将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