我想创建一个游戏,并遇到可能很容易解决的问题。在游戏中保留对象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