0

我有以下代码,但是当我尝试使用此键从该字典中获取值时,它崩溃了。当我删除@时,它工作得很好。任何的想法?

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

2 回答 2

5

问题是,键开头的“@”在键值编码中具有特殊意义——它用于集合运算符,如@count. 因此,KVC 密钥不能以该字符串开头。setValue:forKey:因此,您必须使用 NSDictionary 的原语而不是 KVC setObject:forKey:

于 2013-02-28T01:35:18.927 回答
0

如果profile.username是一个NSString,你为什么要这样做?为什么不直接用它做钥匙呢?

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