这是Swift中原型设计模式的正确使用吗?

时间:2014-09-03 19:47:41

标签: design-patterns swift

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

让cellPrototype 成为常量,这只执行一次吗?不是函数heightForRow,而是单元原型的初始化。

1 个答案:

答案 0 :(得分:2)

每次调用函数时都会生成一个新单元格。在其范围内(两行),cellPrototype将不允许更改(尽管可以更改单元格本身)。

您想要的方法是dequeueReuseableCellWithIdentifier()。正确的单元格配置是一个稍微涉及的主题,因此您应该阅读Table View Programming Guide以获取完整的详细信息。


编辑:再考虑一下,另一种处理此问题的方法(而不是dequeueReuseableCellWithIdentifier)就是创建一个包含用于查询的原型单元格的属性。