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