-(NSArray*)createArrayWithObjectsNamed:(NSString*)string{

    if (!_numberArray){
        [self createArrayOfNumbers];
    }

    NSString *object;
    NSMutableArray *mutableArray;

    for (int i = 0; i <= 9; i++) {
        object = [NSString stringWithFormat:@"%@%@",string,_numberArray[i]];
        NSLog(@"array %@",object);
        [mutableArray addObject:object];
    }

    NSLog(@"value of mutableArray  %@",mutableArray);

    NSArray *array; //= [NSArray arrayWithArray:mutableArray];

    array = [mutableArray copy];

    NSLog(@"array in func %@",array);

    return array;

}


嗨,当我运行createArrayWithObjectNamed:string时,它应该运行for语句十次,并且每次在语句末尾添加新的对象值,但事实并非如此。
当我在NSlog上运行mutableArray时,其值为(NULL)

这是怎么了?

最佳答案

您的mutableArray变量未初始化。在这种情况下,它是nil,但是它很可能是某个任意值,这可能在取消引用时导致EXC_BAD_ACCESS异常。

NSMutableArray *mutableArray = [[NSMutableArray alloc] init];

10-01 16:17