在NSMutableArray中管理UIControl

时间:2013-03-30 10:07:18

标签: ios xcode nsmutablearray uicontrol

我有一个NSMutableArray。

我创建了一个UIControl(比如说UISlider)并将它以for循环的形式添加到这个数组中。

for (int i=0; i<totalSlider; i++) {

UISlider *tmpSlider = [[UISlider alloc] initWithRect:CGRect(0,0,200,40)];

[myArray addObject: tmpSlider];

}

这没关系。 我可以通过

来引用它
UISlider *tmpSlider = [myArray objectAtIndex:j];

但是如何在维护时单独删除和释放这些对象 该数组中剩余的滑块?

例如,此数组中有10个滑块。 所以我想删除索引5处的滑块。如何进行此操作? 感谢。

1 个答案:

答案 0 :(得分:3)

首先,您已经在堆栈中创建了所有UISliders,并在每个堆栈中创建。

因为您的坐标相同CGRect(0,0,200,40)];

所以你只会看到其中一个。

现在,如果你想删除其中任何一个,只需使用

[myArray removeObjectAtIndex:5];

编辑:

Jed's answer的摘录。

  

与NSArray一样,NSMutableArray的实例维护强引用   他们的内容。如果不使用垃圾回收,则将对象添加到数组时,该对象   收到保留消息。从可变对象中删除对象时   数组,它接收一个释放消息。如果没有进一步   对该对象的引用,这意味着该对象被释放。   如果您的程序保留对此类对象的引用,则为引用   除非您之前向对象发送保留消息,否则将变为无效   它已从数组中删除。