刚才遇到了个数组越界错误,下拉刷新几十次才会出现一次carsh,于是进行断点定位,却发现断点后便不会再carsh。
查了些资料,为了阻止carsh,还是要写个类别去改变他的return,贴上代码
@interfaceNSMutableArray (Array)
/*!
@method objectAtIndexCheck:
@abstract检查是否越界和NSNull如果是返回nil
@result返回对象
*/
- (id)objectAtIndexCheck:(NSUInteger)index;
@end
@implementationNSMutableArray (Array)
- (id)objectAtIndexCheck:(NSUInteger)index
{
if(index >= [selfcount]) {
returnnil;
}
idvalue = [selfobjectAtIndex:index];
if(value == [NSNullnull]) {
returnnil;
}
returnvalue;
}
@end
但是这样的话还是会崩溃,感觉很糟糕,查了下代码才发现原来忘了做数组值是否为空的判断了,因此特此标记一下。