4 つの VC がプッシュされたナビゲーション コントローラーがあります。スタックの一番上にある VC に設定されたデリゲート プロパティを持つシングルトン クラスがあります。各 VC の dealloc メソッドで、このデリゲートを nil に設定しています。rootVC の viewdidappear メソッドでデリゲートを設定しています。
4 番目の VC からルート VC に戻ると、(スタック内のすべての VC の) dealloc メソッドと viewdidappear メソッドを呼び出すシーケンスは次のようになります。
"FirstVC dealloc called"
"SecondVC dealloc called"
"viewdidappear of root VC is called"
"ThirdVC dealloc called"
現在、私が直面している問題は、ルート VC の viewdidappear メソッド (制御フローからも見える) でデリゲートを自己に設定しているにもかかわらず、デリゲートが nil に設定されることです。どうすればこの状況を防ぐことができますか? すべての VC の割り当てが実際に解除されたら、viewdidappear メソッドが呼び出されるようにします。
ありがとう、オベイド