在XIB中读取IB UITableViewCell重用标识符吗?

时间:2018-10-06 15:03:43

标签: ios uitableview reuseidentifier

我有一个XIB设计一个UITableViewCell

我总是注册XIB,然后使用重用标识符使单元出队,这很常见。使用XIB时设置Attributes Inspector > Table View Cell > Identifier有什么用吗?

1 个答案:

答案 0 :(得分:1)

代码无法读取笔尖中的设置。如果您将情节提要中的单元格设计为原型单元格,则您必须自己在笔尖中编写重复使用标识符,并在代码中编写相同的代码。

如果您不喜欢,请为单元格注册一个单独的笔尖,而不要从情节提要中获取单元格原型。无论如何,这就是我喜欢的架构。您只需将重用标识符在代码中的一个位置设为一个常数,就可以了。您无需在笔尖中指定重用标识符。

从单独的笔尖获取细胞的正确典型架构如下:

class RootViewController : UITableViewController {
    let cellID = "Cell"
    override func viewDidLoad() {
        super.viewDidLoad()
        self.tableView.register(UINib(nibName:"MyCell", bundle:nil),    
            forCellReuseIdentifier: self.cellID) // *
    }
    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: self.cellID, 
            for: indexPath) as! MyCell
        // ...
    }
}

笔尖中的重用ID完全无关。