iOS 关于数组越界的解决方法

2016-09-08  本文已影响0人  iOS小吴

数组越界--》,就是假如你的下标总数现在为32个,然后你在下一秒又执行了一个方法要从50个数据里惊醒赋值啊 筛选之类的 而你此时数量为32 50的数据还没有请求到 往往会出现数组越界的崩溃信息 大概是这样的 -[__NSArrayI objectAtIndex:]: index 100 beyond bounds [0 .. 9]'  具体的解决方式我们通常会选择把数组做个判断列如 return nil;

解决方式NSArray或者NSmutableArray自己进行一个方法的扩展

@interface NSMtableArray(SHYUil)

//检查是否越界和NSNull,如果是返回nil

-(id)objectAtIndexCheck:(NSUinteger)index;

@end

#import"NSMtableArray+SHYUil"

@implementation NSMtableArray(SHYUil)

-(id)objectAtIndexCheck:(NSUinteger)index{

if (index>=[self cont])

return nil;

}

id value =[self objectAtIndex:index];

if (value ==[NSNull null]){

return nil;

}

return value;

}

@end

在使用的时候用objectAtIndex 替换为这个  objectAtIndexCheck就可以了

上一篇 下一篇

猜你喜欢

热点阅读