对错:没有办法设置使用registerNib加载的单元格的文件所有者:forCellReuseIdentifier:

时间:2012-04-15 01:12:55

标签: iphone ios uitableview

在我的View Controller中,我正在使用

注册一个笔尖
 [self.tableView registerNib:[UINib nibWithNibName:@"MyTableViewCell" bundle:nil] forCellReuseIdentifier:@"MyCellReuseIdentifier"];

在单元格的笔尖中,我使用了与上面相同的标识符。

我遇到的问题是,虽然我能够将valueChanged事件(对于我的自定义单元格中的控件)连接到我的View Controller,但在与控件交互时会得到NSInvalidArgumentException, unrecognized selector sent to instance

您是否了解在dequeueReusableCellWithIdentifier来电中tableView:cellForRowAtIndexPath:来电后,以编程方式检查文件所有者是否已设置的方式?

干杯,尼克

1 个答案:

答案 0 :(得分:0)

我认为你不能这样做。您正在尝试使用xib文件来定义要在故事板表中使用的单元格,并将内容链接到视图控制器,并且您将单元格放在xib中,因为您在多个表中使用它,是吗?

唯一的解决方法是在单元子类上创建一个属性来表示视图控制器,并在单元格出列时将其设置为视图控制器。它有点笨拙,最后我将很多代码移动到单元格中,然后将整个模型对象传递给单元格。它工作得很好,感觉就像一个更清洁的设计。