数组NSArrayt,NSMutableArray使用中的那些坑

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

)

 

posted @ 2017-09-14 10:07  烟沿檐烟燕眼  阅读(251)  评论(0)    收藏  举报