ios - Xcode 5值类型错误

标签 ios 64-bit xcode5.1

我在Xcode 5.1中打开代码时收到此警告
“不应将类型为'NSInteger'的值用作格式参数;而应将明确的类型转换添加到'long'中”
为什么我们需要将NSInteger转换为long?

最佳答案

如果在iOS(64位)上进行编译,则会收到此警告,因为在该平台上NSInteger被定义为long,并且是64位整数。另一方面,%i格式用于int,即32位。因此,格式和实际参数的大小不匹配。

由于NSInteger是32位或64位的,因此取决于平台,编译器建议通常将long强制类型转换添加为long。

更新:由于iOS 7现在也支持64位,因此在为iOS编译时会收到相同的警告。

关于ios - Xcode 5值类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23141266/

相关文章:

iOS应用程序分配越来越多的内存

c - 我如何让它编译为 x64

c++ - 在 C++ 中初始化一个外部变量大小的数组

c++ - 异常在 MSVC 中的析构函数中抛出异常

c++ - unsigned short 和 signed short 比较奇怪的行为

iOS7 新更新 V 7.1(11D167) 不兼容 Xcode 5 开发

ios - 如何在 Xcode 5.1 中使用图标

ios - 当弹出窗口消失时,保持 UITextView 中的文本突出显示

iphone - 在 uitabbar 应用程序 iOS iPad 中更改当前 View

iphone - 我可以信任 DragonFireSDK 吗?