2012-02-20 7 views

答えて

0

私が見る最も一般的な方法は、App Delegateを使うことです。おそらく、それは最も簡単な方法なので。しかし、App Delegateはよく乱用されます。開発者によっては、App Delegateに多くの責任を負わせる傾向があります。何度か私はdevsがApp Delegateをデータモデルとして使用するのを見てきました。それは悪いデザインと見なされます。

私はこれを単に警告します。これは手を出さないようにします。だからここにあなたのアプリケーションの至る所に初期化されたオブジェクトを使用する1つの方法は次のとおりです。

  1. あなたがする必要があるとき
  2. アプリケーションの委任に オブジェクトのgetterとsetterを追加アプリケーションの委任
  3. でオブジェクトを作成します。このようなあなたのオブジェクトのゲッターメソッドを使用して、それをアプリケーションのデリゲートとして、アプリケーションのどこかにオブジェクトを参照:ため

    AppDelegate *appDelegate = (AppDelegate *) 
                [UIApplication sharedApplication].delegate; 
    
1

ありがとうございますSingleton OO patternを使用するか、どのような私は頻繁に行うことはRootViewControllerにクラスのインスタンスを作成している可能性があります。

このRootViewControllerは、インスタンスicwウィンドウ/単一表示アプリケーションの使用により、代理人を介して、または(不利益な)方法でアクセスできます。

(YourAppViewController *)[(YourAppDelegate *)[[UIApplication sharedApplication] delegate] viewController]; 

あなたも、あなたの.PCHでグローバル変数を定義する場合は、物事をスピードアップすることができます:あなたのAppDelegateでプロパティを作成

#define ROOTVIEWCONTROLLER ((YourAppViewController *)[(YourAppDelegate *)[[UIApplication sharedApplication] delegate] viewController]) 
+0

感謝をnswer !! –

0

をし、その変数にデータをロードします。

[[UIApplication sharedApplication] delegate] 

は、あなたのアプリケーションで全体のからあなたのAppDelegateにアクセスすることができます。したがって、あなたのプロパティとその値にアクセスすることができます;)

希望ですか?

関連する問題