0

私のアプリには 4 つのビュー コントローラーがあります。最初の VC はオブジェクトをインスタンス化し、その「強力な」所有権を持ちます。各 VC はそれをそれぞれの子 VC に渡します。それらはすべて、そのオブジェクトと弱い関係にあります。最後の VC が完了し、popToRootViewController を実行したら、最後の VC にこのオブジェクトをリセットさせて、最初の VC が新しい空のオブジェクトを操作できるようにしたいのですが、どうすればこれを実現できますか? オブジェクトを nil に設定して、そのオブジェクトに新しいオブジェクトを割り当てようとしましたが、残念ながらうまくいきません。何か案は?

4

1 に答える 1

0

デリゲートを使用します。2番目のVC(つまり、ルートの最初の子)を、親を指すように設定されたデリゲート(または親など)と呼ばれるプロパティを持つように設定します。弱参照で調整するのではなく、親に解放してからポップするように指示します。

または、すべての人に親を知られたくない場合はUIApplicationDelegate、VCのプロパティがあると仮定して、を介してトップビューコントローラに直接アクセスできます。実際、そこに共有オブジェクトへの参照を配置し、それを直接リセットすることができます。

于 2012-04-27T09:08:55.060 に答える