ios - NSDictionary dictionaryWithObject :key: crashes app

标签 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'

我无法确定问题出在哪里,因为我已经完成了作业,而且它似乎是有效的代码...我为此感到头疼!

最佳答案

我刚刚运行了您的代码,没有任何问题。你确定它在创建字典后不会崩溃吗?你得到的异常似乎表明你正在尝试将一个对象添加到字典中,这是不可能完成的,因为 NSDictionary 是不可变的。如果你想在创建后添加/删除对象,你需要使用 NSMutableDictionary。

关于ios - NSDictionary dictionaryWithObject :key: crashes app,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8102994/

上一篇:iphone - 是否可以在 iPhone 中重新创建用户手势?

下一篇:ios - 发布到虚构人物 Facebook 墙

相关文章:

ios - 在 iOS Xamarin Native 中设置 FSCalendarAppearance 委托(delegate)

ios - dyld : Library not loaded: @rpath/libswiftSwiftOnoneSupport. 动态库

ios - 在 App Store 中将一个应用程序替换为另一个应用程序

ios - 将 plist 加载到 iOS TableView

ios - 如何从两个 nsarrays 创建自定义 nsdictionary

ios - 无需上路行驶即可测试 GPS 路线追踪器

ios - NSMutableDictionary setobject : forkey: crashes with unrecognised selector message

arrays - ObjectForKey 方法不保存值

objective-c - Nested NSDictionary 的访问对象

ios - 保留计数并从Fromview移除