當我忽略爲我的UITableView
註冊給定單元格,但稍後在func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
中調用dequeueReusableCell
時發生了什麼?UITableView忽略註冊單元格
調用看起來是這樣的:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell`
var cell = tableView.dequeueReusableCell(withIdentifier: kIdentifier) as? MyCellType
if cell.isNil {
cell = MyCellType(withIdentifier: kIdentifier)
}
}
顯然,它似乎自動註冊新的細胞。這個假設是否正確?
我之所以可以撥打tableView.register(MyCellType.self, forCellReuseIdentifier: kIdentifier) has legacy reasons, where registering the cell like this will mess up the layout of the cell, whereas initializing correctly with
MyCellType(...)``不會。
我已經有了這個檢查。或者爲什麼我不應該使用'cell.isNil'? –
那麼會發生什麼問題? – KKRocks
你使用prototypecell還是xib? – KKRocks