iOS项目运行出现:[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object

释放双眼,带上耳机,听听看~!

错误原因:

NSDictionary *dic = @{@”key”:value}这个初始化方法,发现keys count和objcects的个数不匹配了, 一般是因为 NSArrayNSDictionary插入数据为空而造成的。

解决方法:

NSDictionary创建有两种方法,NSDictionary *dic =@{@”xxx”:@”xxx”};或者NSDictionary *dic =[NSDictionary dictionaryWithObjectsAndKeys:@”xxx”,@”xxx”,nil];但是用第一种创建的dic里面的元素一定不能为空,否则就会崩溃。

在使用@{@”key”:value} 这种方式初始化的时候,一定要对value做是否为nil的判断,为nil就不要加入Dictionary。

NSDictionary dictionaryWithObjectsAndKeys:value1,@”v1″,value2,@”v2″, nil];使用这个初始化方法进行初始化,这样如果value为nil就不会加入字典,使用 objectForKey:取出来的对象就会为nil对象,不会引发崩溃。

 

人已赞赏
iOS文章

iOS项目运行出现警告:Found an unexpected Mach-O header code: 0x72613c21?

2020-5-8 19:03:02

iOS文章

iOS项目运行出现reason: 'Attempt to insert non-property list object null for key node_version'

2020-5-8 20:18:13

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索