说白了就是 字典初始化 的时候 放入空的值了.net
下面这个比较具体对象
错误缘由:blog
NSDictionary *dic = @{@"key":value}这个初始化方法,发现keys count和objcects的个数不匹配了, 通常是由于 NSArrayNSDictionary插入数据为空而形成的。it
解决方法:io
NSDictionary建立有两种方法,NSDictionary *dic =@{@"xxx":@"xxx"};或者NSDictionary *dic =[NSDictionary dictionaryWithObjectsAndKeys:@"xxx",@"xxx",nil];可是用第一种建立的dic里面的元素必定不能为空,不然就会崩溃。object
在使用@{@”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
数据