新浪微博 有道云笔记 麦库 EverNote Pocket Instapaper 更多

用arrayWithObject:初始化,参数为空数组NSArray时出现的异常



    如果NSArray数组为空,要注意

    如果NSArray数组为空,要注意这样的调用会停止。而不是返回空

    [array objectAtIndex:0]

为此我们做一个验证:

如果一个数组为空,那么用这个空数组去初始化另一个数组,被初始化的数组会不会也为空?

    NSArray *array = [[NSArray alloc] initWithArray:nil];
    NSArray  *arrayNil = [NSArray arrayWithObject:[array objectAtIndex:0]];  

结果是:

程序崩溃,捕获程序异常,后发现程序出错点就在

    NSArray  *arrayNil = [NSArray arrayWithObject:[array objectAtIndex:0]];  

于是可知


    如果NSArray数组为空,要注意

    如果NSArray数组为空,要注意这样的调用会停止。




posted @ 2012-11-13 09:23  iTeaTime(技术清谈)  阅读(395)  评论(0编辑  收藏  举报