我在我的项目中遇到了一个问题,我在头文件中声明了一个 NSMutableDictionary 属性,如下所示:
@property (copy, nonatomic) NSMutableDictionary *DataDict ;
现在在实现文件中,我继续初始化这个字典,因为我要使用它,像这样:
DataDict = [[NSMutableDictionary alloc]init];
现在,当我这样做时,当我尝试向这本字典中添加一些内容时,我会收到以下错误消息:
-[__NSDictionaryI setObject:forKey:]:无法识别的选择器发送到实例 0x885ae60 2012-10-19 16:51:56.040 testing[2297:c07] * 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[__NSDictionaryI setObject: forKey:]: 无法识别的选择器发送到实例 0x885ae60'
一段时间后,我的项目运行了一千次,我决定取消注释我的初始化行,就像这样
//DataDict = [[NSMutableDictionary alloc]init];
这解决了问题。
我的问题是:为什么?