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
)