iOS の新参者として、ARC がこれまでのところ迅速な開発に本当に役立っていることに気付きました。そうは言っても、ARC がどのように適合するのか、また MVC などの以前の長年の iOS パターンとどのように適合するのかが不明な点がいくつかあります。これが私が物事をどのように描こうとしているかです。私の理解における明確化や修正は大歓迎です。
Storyboard を使用して、アプリ用のいくつかのビュー コントローラーをインスタンス化およびセットアップしています。私が読んだドキュメントから、アクティブなView Controllerが別のView Controllerにセグエすると、送信側のView Controllerのインスタンス変数が失われます(はい?/いいえ?)。そのため、モデル レイヤーを使用してアプリのデータを保存しています。ここで、私の理解が(さらに)曖昧になり始めます..
1 つのビュー コントローラーのみで使用されているモデル データ オブジェクトがあるとします。ビュー コントローラー内 (viewDidLoad 内) からデータ オブジェクトを割り当ててインスタンス化します。これで、コントローラー内からデータ オブジェクトへの参照が得られ、コントローラーがフォアグラウンドにある間に、ビューからコントローラーへ、場合によってはデータ オブジェクトへ、コントローラーに戻って、ビューを更新するために自由に調整できます。 MVC パターン。うんいいね..
しかし、別のビュー コントローラーにセグエすると、送信側コントローラーのインスタンス変数が失われるため、データ オブジェクトへの唯一の参照が失われます。その後、ARC はデータ オブジェクトも自動的に解放しますか?
私の目標は、特定のView Controllerのデータを保存できるようにして、戻ったときに保存された状態で更新できるようにすることです。これは iOS の MVC と ARC でどのように行われますか? 私が考えたオプション(覚えておいてください、私は新しいです笑)
- アプリケーション デリゲートにデータ オブジェクトへの参照を含めます。どこにも行かないので、データオブジェクトへの参照も行きません。これは正確ですか?
- データ クラス オブジェクトにすべてのデータを静的な形式で保存しますか?
- NSUserDefaults を使用する
今後もアドバイスをいただければ幸いです。御時間ありがとうございます。