【问题标题】:Getting this warning "#warning 64BIT: Check formatting arguments"收到此警告“#warning 64BIT:检查格式参数”
【发布时间】:2017-09-11 16:31:07
【问题描述】:

使用 Apple 的 64 位转换脚本将我的 iOS 应用程序升级到 64 位架构时,我收到此警告“#warning 64BIT:检查格式参数”。

代码如下:

NSString *string;
NSInteger min=1;
string=[NSString stringWithFormat:@"%ld minutes",(long)min];

minint,我将其更改为 NSInteger。然后,我还将格式语句从 %i 更改为 %ld 并将类型转换为 minlong

警告出现在string= 行的正上方。在我将int 更改为NSInteger 的任何地方都会出现此警告。

【问题讨论】:

  • 您的代码对我有用。此外,诊断的语法很奇怪。请从构建日志中添加完整的错误消息。添加 Xcode 的版本。
  • 语法来自苹果的 64 位转换脚本。请参阅下面的答案。谢谢
  • Apple 的 64 位转换脚本 嗯,知道不是完全不重要……请把它添加到你的 Q 中,以便其他人能够理解。

标签: ios objective-c


【解决方案1】:

IIRC,64 位转换过程会在检测到正在使用的格式字符串的任何地方添加它。代码中应该有一个以#warning 开头的实际行。警告只是放在那里提醒您仔细检查以确保您的格式参数正确;完成此操作后,您应该能够从源代码中删除 #warning 行,并且警告应该会消失。

【讨论】:

  • 我忘了特别提到我使用了你提到的64位转换过程。我能够删除“#warning”行,重建时它们没有回来。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-20
  • 2021-03-15
  • 1970-01-01
  • 1970-01-01
  • 2013-01-31
  • 2020-04-04
相关资源
最近更新 更多