約 1 か月前、妻と私は iPhone アプリの良いアイデアを思いついたので、ユーザーの観点からアプリがどのように機能するかを考え始め、約 1 週間前に初めて XCode を開いて、発展させる。
アプリの作成に取り掛かる前に、特にアーキテクチャに関連するいくつかの重要な概念を頭の中で明確にしておきたいと思います。
参考までに、原則として、何が起こっているのかを完全に理解できるように、できるだけ多くのアプリをプログラム (特に UI) で作成したいと考えています。後で、UI 開発を高速化するためのツールとして IB を使用する可能性があります (静的ビューではなく TableView を使用しているため、現時点では適用されます)。
ビューコントローラー
したがって、UINavigationControllers は一般にサブクラス化されず、AppDelegate のプロパティとして作成され、MainWindow.xib のメインの「サブビュー」です。
UINavigationController はビューのスタックを制御し、通常はルート ビュー コントローラーで開始されます。
ナビゲーション コントローラーは通常、現在の/トップ ビュー コントローラー内から [self navigationcontroller] として参照され、メッセージが送信されます。これは、UIViewController 親クラスの読み取り専用プロパティです。
コアデータ
マネージド オブジェクト コンテキストは、モデル内のデータにアクセスするための主要な制御ポイントですが、通常は直接使用されず、代わりにフェッチ リクエストを使用してデータ オブジェクトの配列、セット、または辞書を返します。これらはビュー コントローラーによって表示および操作に使用されます。データ。
コンテキストはアプリ デリゲートのプロパティとして作成され、起動時にルート ビュー コントローラーに渡されます。ルート ビュー コントローラー自体がスタック内の後続のビューに渡してから、ナビゲーション コントローラーにビューを変更するように指示します (たとえば、セルがタップされたとき)。 )。
ここにたどり着くまでに1週間かかりました。モデルを作成し、データを入力してテーブルビューに表示できますが、データを編集したいときにモーダルビューで多くを見つけることができませんでした。モーダル ビューを設計しますか (通常のビューとの特定の違いがある場合)?
また、ビューオブジェクトへのデータの「バインディング」全体について、それが何をするのか、プログラムでどのように行うのか完全にはわかりませんか?
事前にコメント、提案をいただきありがとうございます。