Wie bekomme ich ein Objekt für den Schlüssel von NSDictionary?

8

Im Wörterbuch namens dict lautet das Schlüsselwertpaar:

  

"alba \ U2019s window"="Ein Modell in Westindien.";

Und um objectForKey: zu senden, bekomme ich die Zeichenfolge wie "albas Fenster". Wenn ich folgendes sende:

  

[dict objectForKey: Albas Fenster];

Ich bekomme nichts, es zeigt null.

    
Univer 13.12.2011, 09:31
quelle

3 Antworten

16

Für den Anfang, möchten Sie vielleicht, dass eine tatsächliche Zeichenfolge, wie folgt machen:

%Vor%

Beachten Sie auch, dass \U2019 nicht ' ist; aber , das ist ein ganz anderes Zeichen.

Und im Allgemeinen ist es wahrscheinlich eine gute Idee, bei [a-zA-Z0-9]+ für Dictionary-Schlüssel zu bleiben, es sei denn, Sie fügen programmatisch die exakt gleiche Zeichenfolge ein und laden sie ab.

    
Williham Totland 13.12.2011 09:37
quelle
5

Ab iOS6 ist eine bequeme Methode zum Festlegen und Zugreifen auf das Objekt für einen Schlüssel aus einem NSDictionary:

%Vor%     
ZeMoon 23.01.2015 10:03
quelle
2

Stellen Sie sicher, dass Ihr dict nicht null ist; Senden einer Nachricht an ein Null-Objekt wird automatisch fehlschlagen und null zurückgeben.

Eine weitere Möglichkeit, Ihre Schlüssel / Werte zu überprüfen, besteht darin, einfach NSLog(@"%@",dict); anzugeben. Dadurch werden Ihnen die Inhalte des Wörterbuchs angezeigt. Beachten Sie, dass diese Ausgabe nur Anführungszeichen um Werte zeigt, wenn der Wert ein Leerzeichen enthält.

Stellen Sie außerdem sicher, dass Sie die gleichen Zeichenkettenpaare wie der Schlüssel verwenden - es sieht so aus, als ob Sie "alba\U2019s window" zusätzlich zu "alba's window" verwenden.

    
Tim 13.12.2011 09:37
quelle