繁体   English   中英

班级插座的实例未分配

[英]Instance of class's outlets are unallocated

我有一个名为HistoriqueCellUITableCell子类。 此类有插座(4个标签)。 我有一个具有UITableViewUIViewControllerHistoriqueViewController )。 该表具有一个以HistoriqueCell子类化的原型单元。 该原型单元的四个标签链接到HistoriqueCell.h的出口。 但是,我所有这些单元的实例始终都有未分配的出口。 我的同事的版本运行正常,并且代码完全相同(我们绕过了git,我只是从他的usb棒中加载了他复制的项目,只是为了100%确保它不是git,即使git保证我们已经没有区别了) 。

这使我怀疑问题不在于代码,而在于xcode配置。 我记得我曾经有过类似的问题,这是由于本地情节提要所致。 简而言之,法语版本已加载,并且没有连接插座,这与我放置插座的英语版本相反。 使用法语情节提要时,像我现在遇到的问题一样,未分配出口,但情节提要板未本地化。

这是显示我未分配的出口的调试

这是情节提要,我在.m中也有@synthesize

电池使用示例:

我真的对这个问题感到沮丧,我似乎找不到问题。 拜托,如果任何人有任何线索,我都听不见!

这是预期的,因为笔尖文件不会自动加载。

您应该通过调用[[NSBundle mainBundle] loadNibNamed:@"HistoriqueCell" owner:self options:nil]手动加载nib文件。

或者最好在表视图中注册笔尖对象,如下所示:

UINib *cellNib = [UINib nibWithNibName:@"HistoriqueCell" bundle:nil];
[self.tableView registerNib:cellNib forCellReuseIdentifier:@"HistoriqueCell"];

现在,当您调用dequeueReusableCellWithIdentifier:表视图将返回可重用的单元格,或创建该单元格的新实例并为您加载笔尖。 并且不再需要此检查:

if (cell == nil) {
    ...
}

也许您在代码中将“单元格”设置为类似于标识ID,但在Interface Builder中未设置单元格

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM