私のテーブルビューでは、レイアウトに応じて2つのセルクラスを切り替えることができます。だから、私はどの細胞クラスをdidEndDisplaying
関数で選択するかを選ぶことができますか?didEndDisplayingで使用するセルクラスを選択してください
dequeueReusableCell
のようにセルを選択する必要がありますか?
func tableView(_ tableView: UITableView, didEndDisplaying cell: UITableViewCell, forRowAt indexPath: IndexPath) {
if isBigCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "CellBig") as! BigTableViewCell
cell.myImageView.kf.cancelDownloadTask()
} else {
let cell = tableView.dequeueReusableCell(withIdentifier: "CellSmall") as! SmallTableViewCell
cell.myImageView.kf.cancelDownloadTask()
}
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if isBigCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "CellBig") as! BigTableViewCell
let data = ads[(indexPath as NSIndexPath).row]
cell.configureWithData(data)
//Dont show highlight
cell.selectionStyle = UITableViewCellSelectionStyle.none
return cell
} else {
let cell = tableView.dequeueReusableCell(withIdentifier: "CellSmall") as! SmallTableViewCell
let data = ads[(indexPath as NSIndexPath).row]
cell.configureWithData(data)
//Dont show highlight
cell.selectionStyle = UITableViewCellSelectionStyle.none
return cell
}
}
:UITableViewCellのが、ちょうどサブクラスとしてセルをキャストしてそこからキャンセルしてください。 – Bseaborn
ビュー(セル)にダウンロードタスクを置くことは非常に悪い考えです。 View Controllerで 'NSOperation'(またはカスタムクラス)と辞書' [NSIndexPath:NSOperation]を使用してください。 – vadian
@Bseaborn like:(cell as!BigTableViewCell).adImageView.kf.cancelDownloadTask()? – user2636197