我有以下代码,但是当我尝试使用此密钥从该字典中获取值时,它会崩溃。当我删除@时,它工作得很好。有什么想法吗?
[self.replacementFBMsgDictionary_ setValue:profileItem.fbId forKey:[NSString stringWithFormat:@"@%@", profileItem.username]];
答案 0 :(得分:5)
事情是," @"在键的开头在键值编码中具有特殊意义 - 它用于像@count
这样的集合运算符。因此,KVC键不能以该字符串开头。因此,您必须使用NSDictionary的原始setValue:forKey:
而不是KVC setObject:forKey:
。
答案 1 :(得分:0)
如果profile.username
是NSString
,你为什么这样做?为什么不把它用作钥匙?
[self.replacementFBMsgDictionary_ setValue:profileItem.fbId forKey:profileItem.username];