2012-03-29 15 views
0

私はObjective-Cとココアのプログラミングがかなり新しくなっているので、App Delegatesの概念は本当にわかりません。アプリケーションデリゲートの使用

ココアアプリケーションを作成するときに、コード(メソッド、アクション、アウトレット)をApp Delegateファイルに保存するか、そこからコントローラとコードとして機能する新しいファイルを作成しますか?今、私はこれら2つのファイルにすべてのコードを書いていますが、私が読んだところでは、あなたのApp Delegateファイルを可能な限りスリムにしようとしています。

私の質問は、アプリケーションデリゲートファイルの用途は何ですか?

答えて

2

話題についてapplicationDidFinishLaunching:: これはアプリケーションのエントリーポイントです。通常は、ウィンドウと最初のViewController、またはメインの開始インターフェイスクラスであるTabbarのみを作成します。

NSApplicationDelegateの他のすべてのデリゲートメソッドにはもちろん、他の機能があります。それらのほとんどは、アプリケーションの状態に反応するポイントです。

しかし、あなたはおそらくiPhoneのマニュアルのプログラミングチュートリアルを見ておくべきでしょう。あなたのobjcプロジェクトをどのように構築するかについての多くの情報があります。例えば。 Start Developing iOS Apps Today

をまたはあなたがOSXのアプリを探している場合は、ここを見て:ここを見て

1)Your First Mac App
2)Mac App Programming Guide

Sample codeの束もあります。

+0

デスクトップアプリケーション(iphone以外)のドキュメントはありますか? – Cubia

+0

私の答えを更新しました。 – calimarkus

+0

ありがとう。とても有難い! – Cubia

1

App Delegateは、アプリケーションで発生するイベントを処理するハンドラの場所です。開いたり閉じたりするようなもの。また、アプリケーションが実行されている時間帯にハングアップし、[[NSApplication sharedApplication] delegate]を実行して、いつでもシングルトンインスタンスを取得できます。

これは、コントローラ間のオブジェクトの受け渡しとイベントのルーターとしての役割を果たすために便利です。デリゲートの一部のデータをコードのさまざまな部分で変更またはアクセスする必要がある場合は、デリゲートに保存することもできます。

これはすべて単純なアプリケーションではうまくいきますが、状況が複雑になるにつれて、いくつかの責任部門が必要になります。 AppDelegateは、実際には、アプリケーション自体で発生するアクションに対してのみ責任を持ち、別のビューやコントローラでは発生しません。 AppDeligateにあなたのコードのすべてまたはほとんどを置くことは、悪い習慣であり、物事がより複雑になり、維持する必要があるので、ひどいコードにつながります。

+0

私は物事をクリアするのを助けてくれてありがとう:) – Cubia

関連する問題