Я изучаю Objective C на языке, который имеет сборку мусора, и я борюсь с управлением памятью. В частности, я борюсь с тем, что происходит в этом случае.
// Global variable
NSMutableArray *parentArray;
// Instance
- (void)testing {
parentArray = [[NSMutableArray alloc] init];
NSMutableArray *childArray = [[NSMutableArray alloc] init];
[childArray addObject:@"mike"];
[parentArray addObject:childArray];
}
childArray - указатель на массив, поэтому, когда я добавляю его в parentArray, он копирует или передает указатель? Если, как я думаю, он передает указатель, я не могу [childArray release] в этом методе, так как это уничтожит объект, и я не смог бы читать из него в другом месте.
Поэтому я должен освободить его в методе dealloc в конце класса?
Любая помощь очень ценится, когда я борюсь.
Mike