使用@作为NSDictionary字符串中键的一部分

时间:2013-02-28 01:24:39

标签: iphone ios objective-c ipad

我有以下代码,但是当我尝试使用此密钥从该字典中获取值时,它会崩溃。当我删除@时,它工作得很好。有什么想法吗?

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

2 个答案:

答案 0 :(得分:5)

事情是," @"在键的开头在键值编码中具有特殊意义 - 它用于像@count这样的集合运算符。因此,KVC键不能以该字符串开头。因此,您必须使用NSDictionary的原始setValue:forKey:而不是KVC setObject:forKey:

答案 1 :(得分:0)

如果profile.usernameNSString,你为什么这样做?为什么不把它用作钥匙?

[self.replacementFBMsgDictionary_ setValue:profileItem.fbId forKey:profileItem.username];