2010-03-16 70 views
1

我有問題,我的視圖控制器類有太多的代表,並開始變大。我想在單獨的類中編寫委託以保持視圖控制器類的小。 對於以編程方式創建的代表(如UIAlertViewDelegate),我可以輕鬆完成。如何從ViewController類中提取委託?

問題出在Interface Builder中分配的代理中。我怎麼能告訴IB把例如另一個類作爲UITableViewDelegate或UITableViewDataSource?或者如何選擇另一個IBAction方法,用於在按鈕上觸發事件?

一個解決方案是從IB刪除連接並在ViewDidLoad中以編程方式編寫它們,但由於我有很多ViewController,這將需要很長時間。

還有其他想法嗎?

回答

0

您從IB中的庫中拖動NSObject並在Inspector中更改其類。這樣,您可以創建委託類的實例。然後,您可以將UITableView的委託出口連接到IB中新創建的對象。

+0

謝謝,讓我開始。 我不明白什麼時候會創建我的代理實例。 實際上,當委託方法應該被調用時,我得到了一個EXC_BAD_ACCESS,並且我想在運行時找不到委託對象。 – adranale 2010-03-16 14:51:45

+0

好吧..事實證明,我應該從viewController到我的委託出口,委託對象將在運行時創建(我想當視圖控制器將被加載)。 – adranale 2010-03-16 15:47:45

相關問題