2011-08-10 12 views
2

iOSプログラミングを学ぶためにInstagramのようなアプリケーションを開発しています。Instagram iPhoneアプリケーションの質問

私のアプリケーションは、ユーザーが自分のiPhoneから写真を共有することができるウェブサイトをホスティングしている画像のためのクライアントです。

私はいくつか質問があります:あなたはInstagramのを開いて、あなたはあなたの中にログインしていない場合は

  • は、5つのボタンでタブバーが表示されません。ログインとサインアップのための2つのボタンが付いた黒いバーが表示されます。ユーザーがログインしていない場合、タブバーを非表示にしてそのようなバーを表示するにはどうすればいいですか(おそらく標準バーです)。あなたの意見に頼る

  • 、アプリケーションのモデルの役割は何ですか? (モデルを使用すべきか、View Controllerのみを使用するように私に示唆されていますか?)「データモデル」として私の頭に浮かぶのは、画像配列です。この配列は、ユーザーが「投稿の更新」ボタンをクリックすると更新されます。 「人気画像」もありますので、グローバル画像配列とは別の配列だと思います。それはモデルに挿入すべきでしょうか?私はこれを尋ねます。なぜなら、モデル/コントローラ/ビューパターンのための私のアプリケーションを良い方法で整理するからです。

私にいくつかのヒントを与えたら、とても感謝しています!

答えて

1
  1. siuyingは前記のように、アニメーションなしモーダルビューコントローラを提示。モーダルビューコントローラにはUITabBarControllerという独自のインスタンスが保持できるため、ログインタブとサインアップタブなどがあるタブバーを持つことができます。実際のメインビューコントローラーの背後には、通常の5つの機能がありますが、それをやっています。こうすることで、ユーザーがサインインしたら、モーダルビューコントローラーを閉じることができます。

  2. 簡単に私は完全にここにあなたの質問を理解していません。速度/リソースの使用のためにタブをクリックすると、自分のスレッドにイメージをロードします。私はモデルがどのようにこのようになっているのか分かりません。これを明確にすることはできますか?ありがとう。

+0

あなたの答えをありがとう。ポイントはログインしているユーザーであり、匿名ユーザーは下部のタブバーを除いて同じタブバーコントローラー(同じビューコントローラーを使用)を表示する必要があります。これは2つのボタン "ログイン"と "サインアップ"のみを表示します。たぶん私はタブバーを隠し、UIToolbarを提示することができます。 2番目の質問について、私はこのアプリケーションでモデルの役割は何かを尋ねます。私は初心者向けのiOS開発者であり、モデルを使用することは一度もありませんでした。私はView Controllerですべてのことを行いましたが、プログラミングの良い方法ではないことが分かりました。 –

+0

ユーザの視点から見ると、同じタブバーコントローラのように見えます。特に、アニメーションを使用して2つの間でフェードした場合は特にそうです。または、既存のタブバーコントローラーを使用してログインした後に新しいタブバー項目を追加するだけで、ログインおよびサインアップ項目を削除できます。より堅いですが、それはあなたが何をしているのか分かっている場合は、同じタブバーコントローラを使用します。私のやり方では、違って見える必要はありません。ユーザーは自分の視点から同じものを見るでしょう。 –

+1

モデルとビューについて混乱しているようですね。もちろん、ビューコントローラや少なくともUIViewを使って情報などを表示します。iOSプログラミングのモデル面は、そのビューに情報を挿入する方法です。それは具体的なアイテムよりもコンセプトです。モデルは独自のクラスファイル(.hおよび/または.m)に存在する可能性があり、画像をロードして必要な処理を行うためのメソッド呼び出しが含まれています。次に、クラスファイルを#importして、View Controllerからメソッドを呼び出します。または、これらのメソッドをビューコントローラに含めるだけです。それは本当にあなた次第です。 MVCを参照してください。 –

1
  1. ユーザーがログインしていないときは、モーダルで、起動時に(アニメーションなし)のビューコントローラを提示することができる。ログインが正常に終了した後、あなたはその後、モーダルビューコントローラを解任することができます。ここで

  2. モデルは、通常のデータ(画像アレイ)を意味するが、アプリケーションのロジック及び動作だけではなく。例えば、サーバーからのダウンロードイメージはモデルで実装する必要があります。 MVC Patternにチェックしてください。

+0

は、あなたの答えをいただき、ありがとうございます。私は@Dylan Gのコメントに詳細を追加します。 –