dequeueReusableCellWithIdentifier保持返回nil

kwm*_*eng 1 uitableview ios swift

我基本上试图做这个链接中的内容

如何使用Storyboard实现自定义表视图节页眉和页脚

在我的故事板中,我在TableViewController中嵌入了静态单元格

我选择了一个表格视图单元格并将标识符设置为"CustomHeader"(在故事板上)

以下是我的代码片段

override func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
        var headerView:UITableViewCell? = tableView.dequeueReusableCellWithIdentifier("CustomHeader") as? UITableViewCell

        if (headerView == nil){
            println("errrrrrr")
        }
        return headerView
    }
    override func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
        return 30
    }
Run Code Online (Sandbox Code Playgroud)

但是,控制台会继续打印"errrrrrr",这意味着headerView为零.

但我认为其标识符"CustomHeader"不能为零,因为我手动选择了一个单元格并在故事板中将其标识符设置为CustomHeader !!

我是iOS的新手,所以我不知道问题是什么.

任何帮助表示赞赏.

提前致谢!

Aar*_*ger 7

要使故事板中的单元格出列,您需要使用采用索引路径的方法.也就是说,不要使用:

dequeueReusableCellWithIdentifier(_:)
Run Code Online (Sandbox Code Playgroud)

相反,使用:

dequeueReusableCellWithIdentifier(_:forIndexPath:)
Run Code Online (Sandbox Code Playgroud)

您链接的问题中的hacky方法不再有效.此方法返回标头.不要让细胞出列.

您应该使用registerNib(_:forHeaderFooterViewReuseIdentifier:)registerClass(_:forHeaderFooterViewReuseIdentifier:),并且dequeueReusableHeaderFooterViewWithIdentifier(_:)如文档所述.