如何将 NSInteger 转换为 int?
例如,当将 value
消息传递给 NSInteger
实例(如
[a value]
)时,它会导致 EXC_BAD_ACCESS。
那么如何将 NSInteger
转换为 int
呢?
如果相关的话只有小数字<使用了32个。
For example when passing a value
message to an NSInteger
instance like so
[a value]
it causes an EXC_BAD_ACCESS.
So how to convert an NSInteger
to int
?
If it's relevant only small numbers < 32 are used.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
哒哒:
NSInteger
只不过是一个 32/64 位 int。 (它将根据您运行的操作系统/平台使用适当的大小)Ta da:
NSInteger
is nothing more than a 32/64 bit int. (it will use the appropriate size based on what OS/platform you're running)如果您想内联执行此操作,只需将
NSUInteger
或NSInteger
转换为int
:If you want to do this inline, just cast the
NSUInteger
orNSInteger
to anint
:我不确定在什么情况下需要将
NSInteger
转换为int
。NSInteger 只是一个 typedef:
NSInteger
用于描述整数,无论您是为 32 位系统还是 64 位系统构建。
您可以在任何使用
int
的地方使用NSInteger
,而无需转换它。I'm not sure about the circumstances where you need to convert an
NSInteger
to anint
.NSInteger is just a typedef:
NSInteger
Used to describe an integer independently of whether you are building for a 32-bit or a 64-bit system.
You can use
NSInteger
any place you use anint
without converting it.常用于 UIsegmentedControl,在 64 位而不是 32 位编译时会出现“错误”,不将其传递给新变量的简单方法是使用此提示,添加 (int):
而不是 :
Commonly used in UIsegmentedControl, "error" appear when compiling in 64bits instead of 32bits, easy way for not pass it to a new variable is to use this tips, add (int):
instead of :