2015-04-23 2 views
0

Comment désactiver l'avertissement XCode Format string is not a string literal dans le code ci-dessous?Ignorer l'avertissement par #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"]; 
} 

je l'ai déjà fatigué (sans succès):

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

Idéalement, vous devez utiliser uniquement des chaînes littérales comme chaînes de format. Pourquoi essayez-vous de faire taire l'avertissement? Fixe le code! – Sulthan

+0

Ce n'est pas mon code. Je corrige l'ancien code et fais un test unitaire pour m'assurer que l'ancien et le nouveau code se comportent de la même manière. – Szu

+2

avez-vous essayé de le bloquer en utilisant '-Wformat-nonliteral'? – Sulthan

Répondre

1

-Wall ne comprend pas tous les avertissements, il ne comprend qu'un ensemble spécifié d'avertissements. Vous pourriez avoir plus de succès avec -Weverything, cependant, c'est toujours le meilleur pour trouver l'avertissement exact que vous voulez bloquer. Dans ce cas -Wformat-nonliteral.