func tableView(tableView: UITableView!, heightForRowAtIndexPath indexPath: NSIndexPath!) -> CGFloat {
        let cellPrototype: NDCustomTableViewCell = NDCustomTableViewCell()
    return cellPrototype.frame.size.height;
}

假设cellPrototype是一个常量,那么它将只执行一个吗?不是heightForRow函数,而是单元原型的初始化。

最佳答案

这将在每次调用函数时生成一个新单元格。在其作用域(两行)内,cellPrototype将不允许更改(尽管单元格本身可以更改)。
您需要的方法是dequeueReuseableCellWithIdentifier()。正确的单元配置是一个稍微有点复杂的主题,因此您应该阅读Table View Programming Guide以获得完整的详细信息。
编辑:再考虑一下这个问题,处理这个问题的另一种方法(而不是dequeueReuseableCellWithIdentifier)是创建一个包含用于查询的原型单元格的属性。

08-19 07:03