web-dev-qa-db-ja.com

NSDictionaryからキーのオブジェクトを取得する方法は?

dictという名前の辞書では、キーと値のペアは次のとおりです。

"alba\U2019s window" = "西インド諸島のモデル。";

そして送信するにはobjectForKey:「アルバの窓」のような文字列を取得しています。私が次のように送るとき:

[dict objectForKey:albaのウィンドウ];

何も表示されません。nullが表示されています。

9
Univer

手始めに、次のように実際の文字列を作成することをお勧めします。

[dict objectForKey:@"alba's window"];

\U2019'ではないことにも注意してください。しかし、は、まったく別の文字です。

さらに一般的には、キーとまったく同じ文字列を使用してプログラムで挿入および取得する場合を除いて、辞書キーには[a-zA-Z0-9]+を使用することをお勧めします。

19

IOS6以降、NSDictionaryからキーのオブジェクトを設定してアクセスするための便利な方法は次のとおりです。

//Setting the object in NSMutableDictionary
dictionary[@"someKey"] = @"someString";

//Accessing the object
NSString *str = dictionary[@"someKey"];
7
ZeMoon

dictがnullでないことを確認してください。 nullオブジェクトにメッセージを送信すると、サイレントに失敗し、nullが返されます。

キー/値を確認するもう1つの方法は、単にNSLog(@"%@",dict);することです。これにより、辞書の内容が表示されます。この出力では、値にスペースが含まれている場合にのみ、値を引用符で囲むことに注意してください。

また、キーと同じ文字列のペアを使用していることを確認してください。"alba\U2019s window"に加えて"alba's window"を使用しているように見えます。

2
Tim