我刚刚将 Xcode + iOS SDK 升级到最新版本 (5.1/7.1),现在收到一堆关于隐式转换丢失精度的错误(NSInteger
到 int
ETC)。
有人知道是否有编译器标志或允许我告诉编译器将这些视为警告而不是错误的东西吗?到目前为止我找不到任何东西。我真的不想遍历代码并在任何地方添加显式强制转换,因为这会出现在很多地方。
最佳答案
这是一个有充分理由的错误。整个代码库中的 NSInteger 将确保在为 32 位和 64 位 iOS 设备编译代码时,它们得到一致的处理。在 32 位世界中,NSInteger 和 int 是一样的,但随着 iPhone 5S 和 iPad Air 的出现,iOS 不再只是 32 位。
正如其他人所说,如果您不想在现代设备上遇到麻烦,就真的没有办法解决这个问题。
关于ios - 升级到 iOS 7.1 SDK 后出错 - 不再允许精度损失的隐式转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22313499/