我对内存管理很陌生。我知道我的问题已经在StackOverflow上讨论过了。但是我想知道答案,以便完全理解它。我的问题是:
NSMutableArray *firstArray = [[NSMutableArray alloc]init];
NSMutableArray *secondArray = [[NSMutableArray alloc] init];
secondArray = [firstArray copy];
复制后firstArray和secondArray的保留计数是多少?
最佳答案
每个1个。 firstArray
持有指向firstArray
的指针。调用secondArray = [firstArray copy];
时,firstArray
的内容将复制到新的内存位置,并且secondArray
将指向该位置。这意味着firstArray
和secondArray
尽管它们具有相同的数据,但它们将指向单独的存储位置(并且是不同的对象)。因此,它们各自的保留计数为1。
关于ios - 复制时保留计数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33759184/