我知道这里有一堆问题和答案,但我认为我的情况不同,因为它处理本地化。这可能就是为什么我在理解为什么我无法解决这个警告时拉我的头发。本地化和“格式字符串不是字符串文字”
我得到的 “格式不是一个字符串” 以下代码警告:
[NSString stringWithFormat:[[NSBundle mainBundle] localizedStringForKey:@"TestCompleted2"
value: @"The test on %@ has completed." table: @"Main"], itemName]
Main.strings:
"TestCompleted2" = "The test on %@ has completed.";
我不明白A)为什么它抛出这个错误和B)我如何解决它。
它显然有填充数据,所以不应该是这样。我假设它是因为localizedStringForKey
可能会返回一个不同的格式化占位符的字符串,这就是为什么它会抛出错误。那是对的吗?如果是这样,我该如何解决?
问题是你的代码对我来说完全适用。没有警告,运行良好,'stringWithFormat'的结果是你所期望的。你能否提供更多信息来使问题具有可重现性? – matt
那么这只是奇怪的@matt。我只是复制并粘贴我使用的代码。也许我在某处启用了构建警告?我可以尝试一个新项目,看看我是否能像你一样获得相同的体验。 – apple4ever
如果您可以在一个小型测试项目中重现它,请将其发布到某个地方,我可以下载它,我很乐意看一看! – matt