Как именно работает метод addObject NSMutableArray?Создает ли он новый экземпляр и добавляет ли он его в массив или просто добавляет ссылку на тот же объект в массив?
Если ответом является то, что он вставляет только ссылку на объект, то это приводит кмой следующий вопрос:
Допустим, у меня есть следующий метод в одном из моих классов («список» является NSMutableArray), с радостью, этот код работает так, как я хотел, но я просто не в полной мерепонять почему:
-(void)buyItem:(Item *)anItem
{
Item * newItem = [[Item alloc]init];
newItem.name = anItem.name;
newItem.details = anItem.details;
[list addObject:newItem];
[newItem release];
}
Таким образом, после вызова [list addObject: newItem] теперь будет всего две ссылки, указывающие на один и тот же объект справа (newItem и еще одна в массиве 'list')?
Но почему, выпуская здесь объект newItem, он не уничтожает объект NSMutableArray в списке?Разве они не указывают на один и тот же объект?