笔尖已装好,插座不见了
Posted
技术标签:
【中文标题】笔尖已装好,插座不见了【英文标题】:Nib loaded, outlets missing 【发布时间】:2015-04-12 02:39:25 【问题描述】:在我的项目中,一些UITableViewCell
有一些复杂的子视图结构和手势动作,所以我决定使用一层“单元控制器”对象(NSObject
的子类)来管理单元和单元层手势,如以及在 xib 文件中绘制单元格。
现在,当我从以单元控制器为所有者的 nib 加载单元时(xib 已正确设置),我发现插座未连接。为什么?
或者,当加载 nib 并设置 outlets 时,是否会在所有者对象上调用任何方法?
笔尖是这样加载的:
cell = [[NSBundle mainBundle] loadNibNamed:@"HistoryCellActive"
owner:self
options:nil][0];
【问题讨论】:
您能告诉我们您是如何加载 nib 文件的吗? @ozgur-[NSBundle loadNibNamed:owner:options:]
作为编辑。
【参考方案1】:
nib 加载基础架构向从 nib 存档重新创建的每个对象发送 awakeFromNib 消息。当一个对象收到一个 awakeFromNib 消息时,保证它的所有出口和动作连接都已经建立。
您可以尝试覆盖 HistoryCellActive 实现文件中的 awakeFromNib 方法并在此处设置断点。如果单元格 xib 文件正确,则调试器将在此断点处停止,您可以检查所有单元格的出口。如果不是,则必须检查 xib 是否有错误。
别忘了调用 [super awakeFromNib];在 awakeFromNib 实现开始时。
【讨论】:
没有多大帮助:HistoryCellActive 只是一个 UITableViewCell,所以我没有可以断点的地方。 如果它只是一个 UITableViewCell 你在说什么网点? 如果你想将自定义的 outlet 附加到 UITableViewCell 你应该创建一个 UITableViewCell 的子类并在这里定义 outlet。 我有一个拥有 xib 的单元控制器对象,而缺少的出口指向它。 如果您有“单元控制器对象”的类实现,您可以在此处覆盖 awakeFromNib。以上是关于笔尖已装好,插座不见了的主要内容,如果未能解决你的问题,请参考以下文章
PLSQL Developer 连接oracle 看不见数据库
各位大神:今天早上我装了个allegro16.3 装好了 但是一缩小零件丝印看不见 线也成一段一段的 是啥原因
excel2013的功能区不见了如何将隐藏的功能显示出来已解决
我安装的centos6.4版本,为啥在桌面上点击鼠标左键或右键,指针就变成了一个很小的点,几乎看不见?