我正在从XIB制作一个表格标题,但是我在此行标题中的标签上的键值编码合规性一直在崩溃。
UIView *headerView = [tableView dequeueReusableHeaderFooterViewWithIdentifier:@"MileageEntryTableHeaderView"];
在我的viewDidLoad中,我打电话给
[_tableView registerNib:[UINib nibWithNibName:@"MileageEntryTableHeaderView" bundle:nil] forHeaderFooterViewReuseIdentifier:@"MileageEntryTableHeaderView"];
然后在我的- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
代表中
UIView *headerView = [tableView dequeueReusableHeaderFooterViewWithIdentifier:@"MileageEntryTableHeaderView"];
return headerView;
我在xib中的标签只是标准标签。我在我的.h中分配它们并将它们从我的文件所有者的xib中连接起来。 (右键单击文件所有者,拖动到适当的标签)。究竟是什么导致了我的崩溃?
答案 0 :(得分:4)
如果您之前在xib和代码之间创建了连接,然后在代码中重命名了属性,或者删除了它并创建了新连接,那么您将会遇到此崩溃。 XCode没有整理已删除的连接或重命名的连接。准确检查界面构建器中的连接(使用连接检查器),您可能有一个过时的连接。
答案 1 :(得分:2)
对于遇到类似问题的其他人:
调用dequeueReusableHeaderFooterViewWithIdentifier
时我也遇到了崩溃。
最后,问题是我从NIB加载UIView,其中iOS期待UITableViewHeaderFooterView
。要修复,我必须确保NIB中的UIView在Identity检查器中设置为类型UITableViewHeaderFooterView
(或其子类)的自定义类。