-(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];