0
-(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语句十次,并在语句结束时每次添加新的对象值,但它不。 当我在mutableArray
上运行NSlog
时,它的值是(NULL)
。NSMutableArray值不被分配
这里怎么回事?
一旦方法返回数组,它会自动释放吗? – Mutch95
如果您使用ARC(自动引用计数),则一切都会正常工作。具体来说,'alloc'将保留计数递增为1,然后编译器在方法返回之前将'release'消息插入'mutableArray'。 – fumoboy007