IOS数组越界

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/AlenCzf/article/details/51598618

刚才遇到了个数组越界错误,下拉刷新几十次才会出现一次carsh,于是进行断点定位,却发现断点后便不会再carsh。

查了些资料,为了阻止carsh,还是要写个类别去改变他的return,贴上代码


@interface NSMutableArray (Array)

/*!

 @method objectAtIndexCheck:

 @abstract 检查是否越界和NSNull如果是返回nil

 @result 返回对象

 */

- (id)objectAtIndexCheck:(NSUInteger)index;

@end


@implementation NSMutableArray (Array)


- (id)objectAtIndexCheck:(NSUInteger)index

{

    if (index >= [selfcount]) {

        returnnil;

    }

    

    id value = [selfobjectAtIndex:index];

    if (value == [NSNullnull]) {

        returnnil;

    }

    return value;

}

@end

但是这样的话还是会崩溃,感觉很糟糕,查了下代码才发现原来忘了做数组值是否为空的判断了,因此特此标记一下。

猜你喜欢

转载自blog.csdn.net/AlenCzf/article/details/51598618