0

私はこれに長い間立ち往生していて、概念に頭を悩ませることができません。アプリの最初のページ以外のデータを保持できません。別のビューにプッシュするたびに、テキストフィールドに入力されたすべてのデータまたはインポートされた画像が失われます。これは、最初のページから離れるとすぐにデータを破壊する唯一のページであるため、最初のページですべてを実行したことを意味します。確かに、これを行うためのより簡単な方法があるはずです...誰かがモデルビューの真の初心者ガイド、これに関するAppleのドキュメントを読んでも、まったく役に立たないことがわかります。ここを読んで、グーグルで検索しましたが、実際にはアイデアが不足しています。

4

1 に答える 1

1

「コントローラー」レベルにデータを保存しています。「ビュー」レベルのように、これらは行ったり来たりして、データを長期間保存するのに適した場所ではありません。長期保存の場合は、データを「モデル」に保存する必要があります。このように 3 つの層を考えることができます。

  • モデルは、データ (揮発性と永続性の両方) とビジネス ルールです。
  • コントローラーは、ビジネス ルール、ビューからモデルへのデータ解釈、およびユーザー インタラクション管理です。
  • ビューは、データ出力を意味のある情報に変換し、ユーザーの応答を解釈するためのものです。

コントローラー (ビュー コントローラー) は、ジョブを実行するのに十分なデータのみを保持する必要があり、必要以上に長くデータを保持すると見なされるべきではありません。これが、元のView Controllerがデータを保持する唯一のものである理由です。これは「ルート」ビュー コントローラーであり、下部ビュー コントローラーであるため削除されません。別のView Controllerを「プッシュ」すると、「ポップ」されて割り当てが解除されるため、一時的です。データにアクセスできる別の場所に (ルート ビュー コントローラーの場合でも) データを保持することを検討してください。おそらく、App Delegate、Core Data、または必要なデータを単に管理するカスタム クラスにあります。Model と Controller オブジェクトがデータにアクセスできることを確認してください。これにより、一貫したデータが得られます。

于 2012-05-02T21:08:35.293 に答える