1

ユーザー情報を保存するための 5 ~ 6 の異なる画面とデータ ソースを備えたマルチビュー アプリを作成したいと考えています。これまでにマルチビュー アプリを作成したことがなく、開始方法については良い考えがありますが、これを適切にサポートするためにアプリを「構造化」するための推奨事項をいくつか聞きたいと思います。

非常に単純な例えは、Web サイトで背景色を作成することです...無地の画像を使用するか、単に背景色スタイルを使用することができます。どちらも仕事を成し遂げますが、スタイルを使用する方が少し簡単/効率的です。

正しいスタートを切れるようにしたいだけです。すべての関数を 1 つのクラスの .m/.h ファイルに保持する必要がありますか? さまざまな画面に対応するための最良/効率的な方法は何ですか?

ありがとうございます。Objective-C と Xcode の理解が深まったら、必ず他の人を助けようと思います。

4

3 に答える 3

1

iPhone/iPad を初めて使用する場合は、 CS193Pの講義をチェックすることを強くお勧めします。iTunes でも​​利用できます。iPhone プログラミングの概要と、Objective-C / Cocoa Touch での処理方法について説明しています。誰もが正しい方向に始められるようになります。

あなたの具体的な質問について。コーディングを開始するだけです。6 か月後には、自分が書いたものはすべてくだらないものであり、いずれにせよ書き直す必要があることに気付くでしょう。

マルチビューアプリ(ほぼすべてのアプリ)に固有のいくつかの提案と、他の誰かがこれを拡張できると確信しています...

  1. さまざまなビューとビューコントローラー間の相互作用をコーディングすることを (可能な限り) 学びます (インターフェイスビルダーを使用する場合と比べて)。たとえば、twitter アプリは Interface Builder をまったく使用していません。
  2. IB を使用する場合は、すべてを 1 つの .xib にダンプしないでください。それらを分割する方法を学びます。ビューコントローラーごとに1つの.xibが必要です。IB UITabBarController または IB UINavigationController は使用しません。これらは初期化され、コードでのみ使用されます。
  3. MVC(Model View Controller)を絶対に学ぶ。
于 2011-03-03T02:27:20.647 に答える
0

多くの場合、Appleのドキュメントは、ほとんどのことを始めるのに適した場所です。最初にここで試してください。これがお役に立てば幸いです。

于 2011-03-03T01:18:17.507 に答える
0

以前は UINavigationController を使用していました。私はそれをシングルトンとして作成し、静的にアクセスして、コントローラーを簡単にプッシュおよびポップできるようにしました (ここにかなり良いチュートリアルがあります)。これは非常に軽量で、すぐに使い始めるのに十分なドキュメントがあります。

ただし、私が使用した最善のアプローチは、Three20フレームワークの TTNavigator です。一言で言えば、内部 URL を呼び出して新しいビューを画面にプッシュできる強化された UINavigator です。

//(In your app delegate)
//Start up the navigator
TTNavigator* navigator = [TTNavigator navigator];
navigator.persistenceMode = TTNavigatorPersistenceModeTop;

//Map url's to controllers
TTURLMap* map = navigator.URLMap;
[map from:@"*" toViewController:[TTWebController class]];
[map from:@"ac://search" toViewController:[SearchViewController class]];
[map from:@"ac://results/(initToView:)" toViewController:[ResultsViewController class]];

次に、コントローラーに移動します。

[[TTNavigator navigator] openURLAction:[[TTURLAction actionWithURLPath:@"ac://results/searchResults/"] applyAnimated:YES]];

また、@"ac://results/" を呼び出して上記の方法でパラメーター @"searchResults" を ResultsViewController の init メソッド ("initToView:") に渡します。これは、マッパーで定義したとおりです。

ではごきげんよう!

于 2011-03-03T01:37:49.330 に答える