NSDictionary
にvalueForKeyPath
を使用しますが、問題は、キーの1つが@記号で始まる文字列であることです。私はキーの命名を制御できません。キーが@記号を開始する場合、NSDictionaryのvalueForKeyPathを使用しますか?
私は@記号を脱出しようとしても、フォーマット例外を取得していますように、キーパスを作成しようとしている問題を抱えている:
これは正常に動作します:
[[[dict objectForKey:@"key1"] objectForKey:@"@specialKey"] objectForKey:@"key3"]
これらの作業のしかしどれも:
[dict valueForKeyPath:@"[email protected]"]
[dict valueForKeyPath:@"[email protected]@specialKey.key3"]
任意のアイデア?
おかげで、あなたは、キー値コーディングを使用したい場合は、あなたのキー名を持つ兆候@使用すべきではない
マイク
を削除するので、基本的にあなたの辞書のobjectForKey:「キー1」@はあまりにNSDictionaryObjectです。そしてそのdict objectForKey:@ "key3" –