NSDictionary dictionaryWithObject:key:崩溃应用程序

时间:2011-11-12 06:36:38

标签: ios nsdictionary

NSObject * obj = [[NSObject alloc] init];
NSDictionary * dict = [NSDictionary dictionaryWithObject:obj forKey:@"test"];

出于某种原因,在执行时会给我以下崩溃:

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException',
reason: '-[__NSCFDictionary setObject:forKey:]: mutating method sent to immutable
object'

我无法确定问题是什么,因为我完成了我的作业,而且它似乎是有效的代码......我正在打破这个问题!

1 个答案:

答案 0 :(得分:2)

我刚刚运行你的代码没有任何问题。你确定它在创建字典后没有崩溃吗?您获得的异常似乎表明您正在尝试向字典添加对象,由于NSDictionary是不可变的,因此无法完成。如果要在创建后添加/删除对象,则需要使用NSMutableDictionary。