2009-07-24 13 views
0

私は現在、最初のiPhoneアプリケーションを開発しています。すべてのコントローラで使用されるオブジェクトを共有するための最良の方法は何ですか?私のiPhoneアプリケーションでのオブジェクトの共有

私は、他のコントローラで必要なデータを含むコントローラを参照し、プロパティのおかげでこのデータにアクセスすることを考えていました、それは良いアイデアですか、それとももっと良い方法ですか?

または、アプリケーション内のどこにでもアクセスできるグローバル変数(constではなく)を宣言できますか?

はあなたが本当にそれをグローバルにする必要がある場合、あなたはAppDelegateに入れたり、データ管理オブジェクトを作成することができますあなたの

答えて

4

あなたが扱っているデータの種類はあなたの質問からは分かりませんが、私がiPhoneアプリケーションで使用したアプローチの1つは、アプリケーション状態と状態管理機能を含むシングルトンオブジェクトです。

このタイプのデータのシングルトン対アプリケーション代理人の使用については、Cocoa With Loveでよく議論されています。私は彼がここで言いたいことに同意します。

たとえば、この場合のアプリケーションでは、Webアプリケーションにユーザーアカウントが関連付けられているため、アプリケーションのロード時にシングルトンオブジェクトが初期化され、ユーザーがサインインしたときに、 api呼び出しのためにユーザー情報を参照することができます。

このアプローチはObjective-C hereでシングルトンクラスを作成する方法、appleのdocs hereでシングルトンクラスを作成する方法を見ることができますが、いくつかの方法で同じ結果が得られます。

シングルトンクラスを定義したら、applicationDidFinishLaunchingまたはメインコントローラのviewDidLoadで初期化し、管理する必要のあるグローバルにアクセス可能なデータを初期化できます。私は、あなたがこの全プロセスを管理するためのいくつかの考察のために上記でリンクしたCocoa With Loveの記事を読むことを強くお勧めします。

希望に役立ちます。

私が立ち往生している場合は、いくつかのサンプルコードを投稿できますが、使用可能なシングルトンクラスの例は、操作が簡単です。

0

ありがとうございます。しかし、私はそれがそういうことをするのは怖いと思う。

関連する問題