J'ai besoin de vérifier si un dict a une clé ou non. Comment?
Réponses
Trop de publicités?Les versions plus récentes d'Objective-C et de Clang ont une syntaxe moderne pour cela:
if (myDictionary[myKey]) {
}
Vous n'avez pas besoin de vérifier l'égalité avec zéro, car seuls les objets Objective-C peuvent être stockés dans des tableaux. Et tous les objets Objective-C sont des valeurs véridiques. Même @NO
, @0
et [NSNull null]
évaluent comme valeurs vraies dans le contexte d'une instruction if.
J'aime la réponse de Fernandes même si vous demandez deux fois l'objectif.
Cela devrait également faire (plus ou moins la même chose que Martin A).
id obj;
if ((obj=[dict objectForKey:@"blah"])) {
// use obj
} else {
// Do something else like creating the obj and add the kv pair to the dict
}
Martin et cette réponse fonctionnent tous les deux sur iPad2 iOS 5.0.1 9A405