Der einfachste Weg ist:
[dictionary objectForKey:@"key"] != nil
als Wörterbücher nil
für nicht-existente Schlüssel zurückgeben (und Sie können daher keine Null in einem Wörterbuch speichern, für die Sie verwenden NSNull
).
Edit: Antwort auf Bradley Antwort auf einen Kommentar
Sie weiter fragen:
Gibt es eine Möglichkeit, wenn dies zu überprüfen: [[[contactDetailsDictionary objectForKey: @ "Profi"] objectForKey: @ "CurrentJob"] objectForKey: @ "Rolle"] existiert? Kein einziger Schlüssel, denn es ist ein wirklich riesiges Wörterbuch, also könnte es in einer anderen Kategorie existieren.
In Objective-C können Sie eine Nachricht an nil
senden, es ist kein Fehler und gibt nil
, so die einfache Methode erweitert oben einfach schreiben:
[[[contactDetailsDictionary objectForKey:@"professional"]
objectForKey:@"CurrentJob"]
objectForKey:@"Role"] != nil
als ob jeder Teil des ist Schlüsselsequenz nicht die LHS existieren gibt nil
Für die verkettete Suche können Sie KVC auch verwenden: '[contactDetailsDictionary valueForKeyPath: @" professional.CurrentJob.Role "]'. –
Es gibt einen kleinen Tippfehler in der ersten Codezeile, der Methodenname ist 'objectForKey', nicht' objectForkey'. – jamix
@jamix - Danke, behoben. – CRD