Fit*_*tzy 38 casting objective-c nsnumber nsinteger
快速问题 - 是否可以将NSInteger转换为NSNumber对象?我需要将UIImageView对象的标记转换为NSNumber对象,因为我需要将它作为参数传递给函数.
das*_*ght 104
你不能强制转换它,因为NSInteger它不是一个对象,只是一个内置类型的别名.您始终可以创建一个新NSNumber对象NSInteger,如下所示:
NSNumber *myNum = @(myNsIntValue);
Run Code Online (Sandbox Code Playgroud)
或者在编译器的先前版本中,使用
NSNumber *myNum = [NSNumber numberWithInteger:myNsIntValue];
Run Code Online (Sandbox Code Playgroud)
Bri*_*ian 18
因为Apple LLVM Compiler 4.0,有一种更简单的方法来创建NSNumber对象:
NSNumber *x = @1234;
NSNumber *y = @(anIntegerVariable);
Run Code Online (Sandbox Code Playgroud)
这是更正确的答案,它不会产生意外错误.
NSNumber *myNum = [NSNumber numberWithInteger:myNsIntValue];
Run Code Online (Sandbox Code Playgroud)
因为医生说:
"numberWithInteger:创建并返回包含给定值的NSNumber对象,将其视为NSInteger."
"numberWithInt:创建并返回包含给定值的NSNumber对象,将其视为带符号的int."
| 归档时间: |
|
| 查看次数: |
36979 次 |
| 最近记录: |