我想創建一個遊戲,並遇到可能很容易解決的問題。在遊戲中保留對象iphone
隨着玩家經歷遊戲,許多物體(車輛)將被添加和移除。
車輛被添加到一個名爲currentVehiclesMutableArray的數組中。
我的問題是我不能弄清楚如何保留一輛車,以便它保留在陣列中,直到我完成它。
我想創建一個遊戲,並遇到可能很容易解決的問題。在遊戲中保留對象iphone
隨着玩家經歷遊戲,許多物體(車輛)將被添加和移除。
車輛被添加到一個名爲currentVehiclesMutableArray的數組中。
我的問題是我不能弄清楚如何保留一輛車,以便它保留在陣列中,直到我完成它。
NSMutableArray會自動保留您添加到它的任何內容。
實際上,您必須確保在添加對象後釋放一個對象,否則會發生內存泄漏。
例如:
Vehicle *vehicle = [[Vehicle alloc] init];
[mutableArray addObject:vehicle];
[vehicle release]; // you should release it, because it was retained by the array
// at this point, mutableArray holds your vehicle object, and is retaining it
好的,謝謝,這是我已經做的,但它不工作。但它可能只是因爲一個不同的原因而工作。當我從陣列中刪除它時,它是否被釋放? – Brodie 2010-06-10 20:37:17
在[NSMutableArray reference](http://developer.apple.com/mac/library/documentation/Cocoa/Reference/Foundation/Classes/NSMutableArray_Class/Reference/Reference.html#//apple_ref/occ/cl/NSMutableArray)中,它說:「當你添加一個對象到一個數組時,對象會收到一個保留消息,當一個對象從一個可變數組中移除時,它會收到一個釋放消息」 – progrmr 2010-06-10 20:42:35
你還保留的NSArray? – progrmr 2010-06-10 20:38:31