前幾日在開發中需要朝一個可變陣列中新增子陣列,內心知道用addObjectsFromArray
方法嘛,hahaha
[self.orderArray addObjectsFromArray:[DetailModel mj_objectArrayWithKeyValuesArray:responseObject]];
可是我了個擦,出現狀況了,怎麼orderArray
陣列中一直是空的呢?苦惱啊……
冥思苦想,終於找到了原因所在,原來是這個可變陣列從資料來源中沒有讀到資料這個時候它就是nil 了,而你的nil 的陣列做任何操作都是不起作用的.
所以在使用addObjectsFromArray
之前,一定要先判斷陣列是否為nil,或者說一定要建立這個陣列,而不是單單宣告這個陣列
解決辦法:
// 懶載入
- (NSMutableArray *)orderArray{
if (!_orderArray) {
_orderArray = [NSMutableArray array];
}
return _orderArray;
}
// 或者直接
if (!_orderArray) {
_orderArray = [NSMutableArray array];
}