一般地除师,我們對 cell 進(jìn)行復(fù)用會采用如下代碼:
// 在 viewDidLoad 方法中注冊
tableView.register(UITableViewCell.self, forCellReuseIdentifier: "cell")
...
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: identify, for: indexPath)
return cell
}
但這樣做的結(jié)果是 cell 的 UITableViewCellStyle 屬性是默認(rèn)的 default檐涝。而 UITableViewCellStyle 只能在如下初始化方法中設(shè)置:
cell = UITableViewCell(style: .subtitle, reuseIdentifier: "cell")
那該如何改變 UITableViewCellStyle 且同時(shí)達(dá)到復(fù)用的目的呢?
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
var cell: UITableViewCell? = nil
cell = tableView.dequeueReusableCell(withIdentifier: "cell")
if cell == nil {
cell = UITableViewCell(style: .subtitle, reuseIdentifier: "cell")
}
return cell!
}
Ref:
https://blog.csdn.net/weixin_42349140/article/details/80947266
http://www.cocoachina.com/bbs/read.php?tid-1730647.html
http://www.cocoachina.com/bbs/read.php?tid-1706470.html