在我的项目中,某些UITableViewCell具有一些复杂的子视图结构和手势操作,因此我决定使用一层“单元控制器”对象(NSObject的子类)来管理单元和单元层手势以及绘图xib文件中的单元格。

现在,当我以单元控制器作为所有者从笔尖加载单元时(正确设置了xib),我发现插座未连接。为什么?

或者,在装入笔尖并设置插座时是否在所有者对象上调用了任何方法?

笔尖加载如下:

cell = [[NSBundle mainBundle] loadNibNamed:@"HistoryCellActive"
                                     owner:self
                                   options:nil][0];

最佳答案

笔尖加载基础结构向从笔尖存档重新创建的每个对象发送awakeFromNib消息。当一个对象收到awakeFromNib消息时,可以保证它的所有出口和动作连接已经建立。

您可以尝试在HistoryCellActive实现文件中重写awakeFromNib方法,并在此处放置一个断点。如果单元格xib文件正确,调试器将在此断点处停止,您可以检查所有单元格的出口。如果否,那么您必须检查xib是否有错误。

不要忘了打电话给[super awakeFromNib];在awakeFromNib实现的开头。

07-24 09:30