2012-04-15 25 views
2

在我的視圖控制器我註冊使用真或假:有沒有辦法設置加載的細胞的文件所有者使用registerNib:我已經使用了

[self.tableView registerNib:[UINib nibWithNibName:@"MyTableViewCell" bundle:nil] forCellReuseIdentifier:@"MyCellReuseIdentifier"]; 

筆尖在細胞中的筆尖:forCellReuseIdentifier與上面相同的標識符。

我遇到的問題是,雖然我能夠將一個valueChanged事件(對於我的自定義單元格中的控件)連線到我的視圖控制器,但在與控件進行交互時,我得到了一個NSInvalidArgumentException, unrecognized selector sent to instance

您是否知道在tableView:cellForRowAtIndexPath:調用dequeueReusableCellWithIdentifier調用後編程檢查文件所有者是否被設置的方法?

乾杯,尼克

回答

0

我不認爲你可以做到這一點。您正嘗試使用xib文件來定義用於故事板表格的單元格,並將其鏈接到視圖控制器,並且您將單元格放在xib中,因爲您在多個表格中使用它,是的?

解決此問題的唯一方法是在單元格子類上創建一個屬性以表示視圖控制器,並在單元格出列時將其設置爲視圖控制器。這有點笨拙,最後我將很多代碼移入了單元本身,而只是將整個模型對象傳遞給單元。它工作得很好,感覺像是一個更清潔的設計。

+0

我正在使用一個表視圖控制器(沒有故事板),但我在'viewDidLoad:'註冊單元格。我最終解決了這個問題,只需在'tableView:cellForRowAtIndexPath:'內部的單元格控件中添加一個目標,當沒有關聯的目標時(因此它只執行一次)。然後我使用標籤來標識indexPath。 – nicktmro 2012-04-16 01:19:18

相關問題