2015-04-23 484 views
0

如何在下面的代碼中禁用XCode警告Format string is not a string literal忽略#pragma的警告

- (void)testRemovingOldCode { 
    NSMutableDictionary *oldRequestDict = [[[OldConfigManager sharedManager] feedURLForKey:kStatItemFixtureDetailURLKey] mutableCopy]; 
    NSString *urlString = [NSString stringWithFormat:oldRequestDict[kURLKey], //Warning: "Format string is not a string literal" 
          @"Param1", 
          @"Param2", 
          @"Param3"]; 
} 

我已經厭倦了(沒有成功):

#pragma GCC diagnostic ignored "-Wall" 
#pragma clang diagnostic ignored "-Wall" 
+1

理想情況下,您應該只使用字符串文字作爲格式字符串。你爲什麼試圖緘默警告?修復代碼! – Sulthan

+0

這不是我的代碼。我正在修復舊代碼並進行單元測試,以確保舊代碼和新代碼的行爲方式相同。 – Szu

+2

你試過用'-Wformat-nonliteral'來封鎖它嗎? – Sulthan

回答

1

-Wall不包括所有警告,它僅包括一組指定的警告。你可能會更成功-Weverything,但是,最好找到想要阻止的確切警告。在這種情況下-Wformat-nonliteral