問題:
をUITableView
受け取るとすぐにコントローラーによってリロードされる がありNSNotification
ます。cellForRowAtIndexPath
が として使用するデータ構造はdatasource
、テーブルの更新中に変更される場合があります。
背景:
アプリのデータ モデルが変更されるたびにが起動され、のを処理するNSNotification
my who が " " メソッドを実行するように通知されます。" " メソッドはモデルから新しいデータを取得し、次に を要求します。これは、モデルが変更され、コントローラーに通知され、ビューが更新されるクラス MVC パターンです。データをすばやく変更するクイック通知が連続して発生すると、アプリがクラッシュします。テーブルが呼び出されている間、実行中にデータを含むデータ構造が変化しているように感じます。UITableViewController
datasource
UITableView
refreshReload
refreshReload
[tableView reloadData]
cellForRowAtIndexPath
これを回避するために従うべき良いパターンは何ですか?最初に停止を実行してから変更できるように、テーブルのリロードを停止する方法はありdatasource
ますか?