-(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)
。
这里出了什么问题?
答案 0 :(得分:1)
您的mutableArray
变量未初始化。在这种情况下它是nil
,但它很可能是某个任意值,这可能会在解除引用时导致EXC_BAD_ACCESS
异常。
NSMutableArray *mutableArray = [[NSMutableArray alloc] init];