相关疑难解决方法(0)

NSInteger和NSUInteger处于混合的64位/ 32位环境中

我在NSLog/NSAssert等调用中有相当数量的字符串格式说明符,它们分别使用%d%u使用NSInteger (= int on 32bit)NSUInteger (= unsigned int on 32bit)类型.

将应用程序转换为64位时,会发出警告(当然),正如%ld %lu现在成为的类型longunsigned long类型所预期的那样.

简单地转换格式说明符当然会在32位构建中引入反向警告.
因此,我认为唯一可以免于警告的解决方案是使用64位说明符,并在34位值的类型中转换为34位值,并在32位构建中给出警告.

但我想知道是否有专门针对NSIntegerNSUInteger类型的格式说明符可以在没有强制转换的情况下在两种架构上工作?

64-bit objective-c ios arm64

28
推荐指数
2
解决办法
2万
查看次数

标签 统计

64-bit ×1

arm64 ×1

ios ×1

objective-c ×1