2017-06-08 7 views
-1

私のカスタムのtableViewCell、カスタムテーブルビューセルが画面から消えるのを検出する方法は?

私はカスタムtableViewCellsを表示するtableViewのView Controllerも持っています。

tableViewCellが画面外に出たときに発生するメソッド(ViewControllerメソッドまたはTableViewCellメソッド)はありますか?セルの中でいくつかのコアデータ更新を行う必要があります。

は(私はそれが画面の外に行くとき、私tableViewCellにタイマー()のコアデータ値を更新する必要があるので、私は、この方法を知っておく必要があります。)

+0

なぜ可視セルでのみ更新しないのですか? –

+0

コアデータがテーブルビューのビジュアルステートに強固に結合されていると、欠陥のあるアーキテクチャのようです。 – vikingosegundo

答えて

1

表示セルの端部を検出するために使用されるテーブルビューデリゲート::セルがテーブルビューまたは細胞がそのdiplaying終了から除去方法火災上記tableView:didEndDisplayingCell:forRowAtIndexPath:

func tableView(_ tableView: UITableView, didEndDisplaying cell: UITableViewCell, forRowAt indexPath: IndexPath) 

を以下。

0

tableView(_:didEndDisplaying:forRowAt:)デリゲートメソッドがあります: https://developer.apple.com/documentation/uikit/uitableviewdelegate/1614870-tableview

+0

'このメソッドを使用して、セルがテーブルビューから削除されたときを検出します。ビュー自体を監視して表示または非表示にすることはできません。 – Fogmeister

+0

まあ...私のテストではかなり良いように見える... –

0

あなたはここでは、テーブルビューまたはセルをリロードする場合、削除されているセルが引き金になることに注意してくださいのUITableView

func tableView(_ tableView: UITableView, didEndDisplaying cell: UITableViewCell, forRowAt indexPath: IndexPath) { 

    } 

tableView:didEndDisplayingCell:forRowAtIndexPath: deleagetメソッドを使用することができます この方法。そのような状況を処理するには、このメソッド内に追加ロジックを実装します。

関連する問題