Iphone 我可以让UIControl获得“的所有权”吗;一次性;活动目标?

Iphone 我可以让UIControl获得“的所有权”吗;一次性;活动目标?,iphone,ios,events,Iphone,Ios,Events,在我的视图控制器中,我以编程方式在我的UIView中创建N个按钮。每个按钮都需要做一些不同的事情,所以我创建了一个自定义处理程序类,创建了N个实例,每个实例都用自定义数据初始化。我在for循环的主体中创建它们,并将它们添加为目标,之后我不再需要它们 但是,由于UIControls不拥有其事件目标的所有权,我需要自己(在控制器中)保留这些自定义处理程序,引入额外的ivar和必要的发布代码。是否有更优雅的方法来处理此问题?将这些自定义处理程序添加到保留在控制器中的NSArray中(无论是哪个控制器创

在我的视图控制器中,我以编程方式在我的
UIView
中创建N个按钮。每个按钮都需要做一些不同的事情,所以我创建了一个自定义处理程序类,创建了N个实例,每个实例都用自定义数据初始化。我在
for
循环的主体中创建它们,并将它们添加为目标,之后我不再需要它们


但是,由于
UIControl
s不拥有其事件目标的所有权,我需要自己(在控制器中)保留这些自定义处理程序,引入额外的ivar和必要的发布代码。是否有更优雅的方法来处理此问题?

将这些自定义处理程序添加到保留在控制器中的NSArray中(无论是哪个控制器创建按钮)。将对象添加到数组中会保留它,因此您将知道它始终存在。

同样,释放数组也会释放其内容;我的问题是:有没有更优雅的方法?那么我想不会了。:-)谢谢我还以为你的意思是为每个自定义处理程序都提供一个额外的iVar!啊,不,它们的数量是可变的,所以我事先不知道会有多少个处理程序。NSArray是唯一的选择。:-)