如何解决 NSDictionary 中的 NSInvalidArgumentException

Posted

技术标签:

【中文标题】如何解决 NSDictionary 中的 NSInvalidArgumentException【英文标题】:How to solve a NSInvalidArgumentException in a NSDictionary 【发布时间】:2012-07-24 07:27:08 【问题描述】:

我的代码有问题,应用程序因错误而崩溃

由于未捕获的异常而终止应用程序 'NSInvalidArgumentException',原因:'-[__NSCFDictionary setObject:forKey:]: 尝试插入 nil 值 (key: app_ver)' * 第一次抛出调用栈:(0x874022 0x257acd6 0x81ca48 0x81c9b9 0x8732da 0x8c473 0x8c119 0x7d803 0x7d74c 0x875e42 0x82670 0x13eda49 0x13ebe84 0x13ecea7 0x13ebe3f 0x13ebfc5 0x1330f5a 0x2f1ca39 0x2fe9596 0x2f13120 0x2fe9117 0x2f12fbf 0x84894f 0x7abb43 0x7ab424 0x7aad84 0x7aac9b 0x133040f 0x82a35 0x12fc4d6 0x12fc447 0x99595ed9 0x995996de) 终止称为抛出异常

【问题讨论】:

分享您尝试将值放入字典的代码。 【参考方案1】:

您尝试插入一个 nil 对象。先测试一下。

if(anObject)
    [myDictionary setValue:anObject forKey:kAnKey];

【讨论】:

【参考方案2】:

您正在尝试设置一个没有任何键的字典对象 (nil)。

查看更多详情:setObject:ForKey: crash?

【讨论】:

以上是关于如何解决 NSDictionary 中的 NSInvalidArgumentException的主要内容,如果未能解决你的问题,请参考以下文章

如何获取 NSDictionary 中的第一个元素?

如何将变量与 NSArray 中的 NSDictionary 中的对象进行比较?

如何在 NSUserDefaults 中绑定 NSDictionary 中的对象?

如何将 NSString 从 JSON 转换为 NSDictionary? [关闭]

如何检查 NSDictionary 中的值是不是存在于字典数组中

如何从 Objective C 中的 NSDictionary 获取键值?