シナリオ:
- 初期コントローラーとしてUINavigationControllerを使用したストーリーボード。
- MainVC(ナビゲーションコントローラーのルートVC)では、ユーザーが地図上の場所を選択する必要があります。
- MainVCは、MapKitマップを含むVCをプッシュし、ユーザーが場所を選択したときにMapVCが送信する通知のリスナーとして自分自身を追加します。
- MapKitはメモリホッグです、私たちは皆それを知っています。iOSはメモリ警告を表示します。実行する必要のあるすべてのことを実行すると、iOSはMainVCを含め、割り当てを解除できるすべての割り当てを解除します。
- MapVCは通知を送信しますが、それを聞く人は誰もいません。雨の涙のように、ユーザーが選択した場所が失われます。
これを考えると、MainVCに戻るときにその位置データを渡すための信頼できる方法は何ですか?〜/ tmp(画像などの大量のデータを処理するときに使用するもの)に書き留めることも考えましたが、それは機械の無駄のようです。ナビゲーションコントローラーが前のVCに戻ったときに発生するイベントのように、フックできるメカニズムはありませんか?同様に、prepareForSegueのようなものにアクセスできます:しかし、反対方向にあるといいでしょう。
編集私は代表団に行こうとしましたが、それでも私の代表団は解放されたようです。〜/ tmpに書き込む必要がありますか?