NSMutableArray的addObject方法究竟如何工作?它是否會創建一個新實例並將其添加到數組中,還是隻是將對SAME對象的引用添加到數組中?關於NSMutableArray,指針和版本問題
如果答案是隻插入一個參考對象,那麼它導致了我的下一個問題:
比方說,我有以下方法(是NSMutableArray的「列表」)我的課之一,很高興,這個代碼工作我想要的方式,但我似乎就是不完全理解爲什麼:
-(void)buyItem:(Item *)anItem
{
Item * newItem = [[Item alloc]init];
newItem.name = anItem.name;
newItem.details = anItem.details;
[list addObject:newItem];
[newItem release];
}
所以基本上打完電話後[名單ADDOBJECT:的newitem],就現在共有兩個參考指向的相同的對象權利(newItem,和'列表'數組中的另一個)?
但是,爲什麼在這裏釋放newItem對象,不會清除'list'中的那個NSMutableArray?他們不是指向同一個對象嗎?
啊是的,我有點得到它!謝謝你的回答 – lucas32