UIButton从记忆中释放出来?

时间:2013-05-19 15:28:15

标签: ios memory-management

我在方法中创建了几个UIButtons(带选择器)(在应用程序的整个生命周期中)并将它们全部粘贴到NSMutableArray中。创建的按钮不是属性,但是数组是。

  1. 如果我从数组中删除一个按钮,该按钮会自动从内存中释放吗?
  2. 如果上面的答案是否定的,我该如何才能从内存中释放它?

2 个答案:

答案 0 :(得分:1)

按钮最终会从内存中释放,因为没有人保留它。无论如何,它的保留计数都会减少,但只有当没有其他人保留它时,它才会从记忆中释放出来。

然而,这是一个有点令人困惑的机制 - 请记住,UIButtons是视图,可能是视图层次结构的一部分,它也保留了它们。如果它们也可见,则必须将它们从超级视图中删除才能被释放。

答案 1 :(得分:1)

放入NSArray(和NSMutableArray)的任何内容都会被数组保留,并在从数组中删除或释放数组时释放。按钮和任何其他对象都是如此。