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