我有一个XIB设计一个UITableViewCell
。
我总是注册XIB,然后使用重用标识符使单元出队,这很常见。使用XIB时设置Attributes Inspector > Table View Cell > Identifier
有什么用吗?
答案 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完全无关。