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对象,不会引发崩溃。

原文:https://blog.csdn.net/yuhao309/article/details/80609823


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM