设置可重用标头时出错:'无法在包中加载 NIB

Posted

技术标签:

【中文标题】设置可重用标头时出错:\'无法在包中加载 NIB【英文标题】:Error when setting reusable header : 'Could not load NIB in bundle设置可重用标头时出错:'无法在包中加载 NIB 【发布时间】:2017-10-03 16:59:37 【问题描述】:

我正在尝试更改我的代码以使用可重用的标头,但它在 viewForHeaderInSection 中崩溃 这是我的代码:

class CaptionHeaderCell: UITableViewHeaderFooterView 
    override func awakeFromNib() 
        super.awakeFromNib()
    


override func viewDidLoad() 
        super.viewDidLoad()
self.tableView.register(UINib(nibName:"CaptionHeaderCell", bundle: nil), forHeaderFooterViewReuseIdentifier: "CaptionHeaderCell")



func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? 
        let header = tableView.dequeueReusableHeaderFooterView(withIdentifier: "CaptionHeaderCell") as! CaptionHeaderCell


        header.contentView.backgroundColor = "c0efff".hexColor
        return header
    

错误发生在 让 header = tableView.dequeueReusableHeaderFooterView(withIdentifier: "CaptionHeaderCell") 为!标题标题单元格

错误信息是: :'NSBundle(已加载)',名称为'CaptionHeaderCell''

【问题讨论】:

错误是什么?究竟是哪一行导致了错误? 如果有任何排序错误日志,请用问题更新它,最好分析一下。 我已经更新了票 你有一个名为“CaptionHeaderCell.xib”的.xib文件吗? 我正在使用情节提要,并且我的 tableivew 中有一个 tableviewcell,我根据上面的图像进行了自定义。 【参考方案1】:

注册需要更改为: self.tableView.register(CaptionHeaderCell.self, forHeaderFooterViewReuseIdentifier: "CaptionHeaderCell")

【讨论】:

以上是关于设置可重用标头时出错:'无法在包中加载 NIB的主要内容,如果未能解决你的问题,请参考以下文章

无法在包中加载 NIB:'NSBundle 错误

无法在包中加载 NIB:NSBundle

NSInternalInconsistencyException 无法在包中加载 nib

iOS 10:致命异常:NSInternalInconsistencyException 无法在包中加载 NIB

iOS - 无法在包中加载 NIB

无法在包中加载 Nib - 错误的 nibname 错误