0

次のコードがありますが、このキーを使用してこの辞書から値を取得しようとするとクラッシュします。@ を削除すると、問題なく動作します。何か案が?

[self.replacementFBMsgDictionary_ setValue:profileItem.fbId forKey:[NSString stringWithFormat:@"@%@", profileItem.username]];
4

2 に答える 2

5

キーと値のコーディングでは、キーの先頭にある「@」が特別な意味を持ちます。これは、 のようなコレクション演算子に使用され@countます。そのため、KVC キーをその文字列で始めることはできません。KVC の代わりに、setValue:forKey:NSDictionary のプリミティブを使用する必要がありますsetObject:forKey:

于 2013-02-28T01:35:18.927 に答える
0

の場合profile.usernameNSStringなぜそれをしているのですか?それを鍵に使ってみませんか?

[self.replacementFBMsgDictionary_ setValue:profileItem.fbId forKey:profileItem.username];
于 2013-02-28T01:29:46.357 に答える