我对内存管理很安静。我知道我的问题已在StackOverflow上讨论过了。但我想知道完全理解它的答案。我的问题是:
NSMutableArray *firstArray = [[NSMutableArray alloc]init];
NSMutableArray *secondArray = [[NSMutableArray alloc] init];
secondArray = [firstArray copy];
复制后,firstArray和secondArray的保留计数是什么?
答案 0 :(得分:2)
1。 firstArray
持有指向firstArray
的指针。当您致电secondArray = [firstArray copy];
时,firstArray
的内容会被复制到新的记忆位置,而secondArray
会指向该位置。这意味着firstArray
和secondArray
将指向不同的内存位置(并且是不同的对象),尽管它们具有相同的数据。因此,它们每个都有1的保留计数。