2011-03-11 57 views
2

在我的視圖控制器中,我正在以編程方式在我的UIView中創建N個按鈕。每個按鈕都需要做一些不同的事情,所以我創建了一個自定義處理程序類,我創建了N個實例,每個實例都使用自定義數據進行了初始化。我在for循環的主體中創建它們並將它們添加爲目標,之後我不再需要它們。我可以讓UIControl獲得「一次性」事件目標的所有權嗎?

但是,因爲UIControl沒有取得他們的事件目標的所有權,所以我需要自己(在控制器中)掛上這些自定義處理程序,引入額外的ivar和必要的發佈代碼。有沒有更好的方法來處理這個問題?

回答

3

將這些自定義處理程序添加到您在控制器中保留的NSArray(無論控制器是否創建按鈕)。將一個對象添加到數組中會保留該對象,所以您會知道它總是在附近。

+3

同樣,釋放數組也會釋放其內容。 – 2011-03-11 14:14:54

+0

我在我的問題中描述了這個解決方案;我的問題實際上是:有沒有更好的方法來做到這一點?那麼我想不是。 :-) 謝謝! – Martijn 2011-03-11 14:22:10

+2

以爲你的意思是爲每個自定義處理程序都有一個額外的iVar! – GendoIkari 2011-03-11 14:23:08

相關問題