メインスレッドではなく NSOperation を実行しています。UITableViewController から生成されます。操作が完了したら、一部のデータが変更されたため、テーブルビューをリロードしたいと思います。バックグラウンドで完了時に通知するデリゲートを設定しました。完了したら、特に performSelectorOnMainThread を使用して、メイン スレッドで reloadData のラッパーを呼び出します。
ほとんどの場合、これはうまく機能しますが、元の (edit)tableViewController (/edit) が解放され、ゾンビ コールが発生する可能性が 0 ではありません。
したがって、質問は2つの部分にあります。
- オブジェクトを保持せずにバックグラウンド スレッドからデリゲートを持つことは可能ですか?
- これは単にデザインが悪いのでしょうか?代わりに NSNotifications を使用する必要がありますか? この場合、それが好ましい通知方法でしょうか?
前もって感謝します。