如果单元格是UITableViewCell,我应该将单元格出列而不是分配它吗?

时间:2016-05-11 13:06:24

标签: ios uitableview

什么是更好的方法:

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = UITableViewCell()
    return cell
}

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier(CellIdentifier) //cell has empty prototype in storyboard where setted this cellIdentifier
    return cell
}

我知道dequeueReusableCellWithIdentifier将重用单元格。但是如果我们使用简单的UITableViewCell,那么在这种情况下性能会更好吗?

2 个答案:

答案 0 :(得分:4)

你永远不应该使用第一种方法。性能方面,出列方法要好得多。

如果您想要一个具有不同样式或不同标签的单元格,那么在故事板中创建它或创建一个子类。

但总是使用出列方法。

答案 1 :(得分:0)

两者都绝对没问题。这取决于您想要的设置类型。至于dequeueReusableCell是考虑它只是保存内存。它只分配一些可以轻松显示在设备屏幕中的单元格。例如,如果您的屏幕可以查看7个单元格,它将分配8个单元格,然后尝试将这些单元格重新用于其indexPath的不同数量的对象。