說白了就是 字典初始化 的時候 放入空的值了.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
數據