我知道這裏有一堆問題和答案,但我認爲我的情況不同,因爲它處理本地化。這可能就是爲什麼我在理解爲什麼我無法解決這個警告時拉我的頭髮。本地化和「格式字符串不是字符串文字」
我得到的 「格式不是一個字符串」 以下代碼警告:
[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