NSObjectのサブクラスへの強い参照を持つ複数のビューコントローラがあります。各ViewControllerを使用すると、ユーザーはこのオブジェクトを何らかの方法で変更してから、オブジェクトを次のViewControllerに渡すことができます。完了すると、ユーザーはこれらの変更をコミットし、NSObjectサブクラスの新しいインスタンスでプロセスを最初からやり直すことができます。私が経験している問題は、スタック上の一部のビューコントローラーがコミットされたインスタンスへの参照を保持していることです。
弱くてunsafe_unretainedを使用しようとしましたが、ビューコントローラー間でオブジェクトを渡すのが難しくなります。
基本的に、コミットされたオブジェクトのインスタンスの割り当てを解除する必要があります。これにより、ViewControllerによるオブジェクトへの参照がゼロになります。ただし、ARCではdeallocへの明示的な呼び出しは許可されていません。
NSNotificationCenterまたはデリゲートを使用してこれを解決できますが、これを行うためのよりクリーンな方法はありますか?
任意の洞察をいただければ幸いです。ありがとう!