我有一个XIB设计一个UITableViewCell

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

最佳答案

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

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

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

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完全无关。

关于ios - 在XIB中读取IB UITableViewCell重用标识符吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52680352/

10-10 20:53