2011-09-08 21 views
0

私は、3つのビューを持つAppと、メッセージの解析とサーバーへの接続を担当する2つのクラスがあります。異なるビューの同じクラス

すべての3つのビュー(と接続も)でパーサーを使用する必要があります しかし、私は両方のインスタンスを含めて初期化すると、すべてのビューで正しいパフォーマンスが得られない場合があります。 ?

これは正しくありません。どうすればよいですか? 私はappDelegateでそれらのインスタンスを作成することを考えていますが、私はどのように インスタンスのメソッドを使用するのか分かりません。事前

答えて

0

AppDelegateに戻って渡しが可能ですが、本当にOOPはそれが次のようにappDelegateは、コード内の任意の場所に到達することができますか?すぐに大きなアプリケーションでView Controller間でデータを前後に渡すために使用します。

これを行うより良い方法は、コアデータプログラムで管理対象オブジェクトのコンテキストを渡す方法と似ていますが、パーサーを保持するためにビューコントローラにプロパティを作成することです。このパーサを1か所に作成し、新しいView Controllerを作成した後、パーサーをポイントするようにプロパティを設定します。あなたはちょうど1つのインスタンスの周りを通過し、より制御された方法で。

+0

[OK]を、理解していると思いますが、コアデータにまだ慣れていません。 と私はあなたが言ったようにする方法を検討します。ありがとうございました。 – Erakk

+0

私はそれを手に入れました!ありがとう! – Erakk

-1

おかげでそれはappDelegateでそれを作成するには、この場合には良くなります。

MyAppDelegate *delegate=(MyAppDelegate *)[[UIApplication sharedApplication] delegate]; 
[delegate parse:data]; 
+0

オクラホマ、私はそれが好きだと思う。たとえば、私のConnectionにはauthenticate:メソッドがあり、appDelegateでConnectionが初期化されています。 メソッドの認証を呼び出す場合:私の3番目のビューで、どうすればいいですか? – Erakk

関連する問題