0

我有一个以这种方式分配的自定义类数组:

myArray = [NSMutableArray array];

我通过 for 循环在其中添加对象:

for (CustomClass *obj in otherArray) {
    [myArray addObject:obj];
}

然后,我将所有内容添加到我的视图中:

CustomClass *obj = [myArray objectAtIndex:index];
[self.view addSubview:obj];

每次我在视图中添加元素时,我都会将其从数组中删除:

[myArray removeObject:obj];

最后,我拥有我认为的所有元素。但是,在游戏结束时,我必须从我的视野中删除所有对象并从内存中删除。我使用 ARC。我不知道如何从内存中释放对象。谢谢

4

1 回答 1

0

您将不得不从它存放的每个地方移除该对象。ARC 将为您处理保留/释放调用(在编译时)在未使用时降至零。您应该注意到,无论释放什么,未引用的对象都将被释放。

所以你只需要记住你的对象在哪里被引用:

大批

当您将其添加到 myArray 中时,它会添加 1 以保留计数。

当您删除它时,它会删除 1。

看法

当您 addSubview 它添加 1。

当您想从超级视图中删除时,您应该在您的项目上调用 removeFromSuperview 选择器(我想您知道,这不是您的问题)

第一个数组

我注意到你的对象总是留在 otherArray 数组中。

于 2012-11-16T14:31:05.260 回答