OC開發中一般都會使用model來處理數據,經常會碰到定義好的欄位因為各種原因 後臺突然改欄位或者空值 造成model中對應的數值為nil,這個時候 我們如果取這個值加入數組中使用就會發現數組中的參數個數少了,造成閃退。因為在OC中數組無需要預先申請空間 數組每增加或刪除一個元素,就增加或刪除一個節 ...
OC開發中一般都會使用model來處理數據,經常會碰到定義好的欄位因為各種原因 後臺突然改欄位或者空值 造成model中對應的數值為nil,這個時候 我們如果取這個值加入數組中使用就會發現數組中的參數個數少了,造成閃退。因為在OC中數組無需要預先申請空間 數組每增加或刪除一個元素,就增加或刪除一個節點,而nil,代表最後一個節點;不計入數組元素。所以,如果欄位為nil就會造成數組元素缺失。
NSArray * array = [NSArray arrayWithObjects:@"1",@"2",nil,@"3",@"4", nil];
NSLog(@"array=====%@",array);
輸出 array=====(
1,
2
)
如果把nil改為@"" ,就不會報錯了
NSArray * array = [NSArray arrayWithObjects:@"1",@"2",@"",@"3",@"4", nil];
NSLog(@"array=====%@",array);
輸出 array=====(
1,
2,
"",
3,
4
)