私はアプリケーション代理人の変数/ properyをグローバルとして使用しています。 (私はシングルトンクラスを扱いたくありません)アプリケーション代理変数/プロパティにアクセスしようとしています
私は、アプリケーション代行クラスに#defineステートメントを書き込もうとしています。入力した場合:
[UIApplication sharedApplication]
私のアプリケーションデリゲートクラスでは、コードヒントはsharedApplicationを認識しません。しかし、viewControllerクラスに同じものを入力すると、 "sharedApplication"がすぐにポップアップします。私applicationDelegate.hにNSMutableDictionaryを定義するために
、私が書く(または.M?):
#define MyDictionary [[[UIApplication sharedApplication] delegate] stateDictionary]
その後、私は別のクラスでそれを使用しようとします
[[MyDictionary objectForKey:@"California"] largestCity];
MyDictionaryを最初に宣言する必要があるというエラーが表示されます。私は本当にここでたくさんのコンセプトについて混乱しています。
それは素晴らしいです。ありがとうございました。あなたの2つのステートメントを使わずに変数にアクセスできるように、それを定義するための方法はありますか?私はそれらを解放する必要がありますか?もし私がそれらをリリースしたら、それは辞書の私のAppDelegatesインスタンスを解放し、委譲しますか? – Bryan
また、私の質問の最初の部分では、2つのappDelegatesの違いは何ですか? – Bryan
残念ながら、これらの2行を使用する必要があります。私が知っている実際のグローバル変数はありませんが、私は自分のコードでそれらを使用しません。 :) リリース:作成したクラスでリリースします。たとえば、MyApplicationDelegateでそれらを作成した場合は、そこのdeallocメソッドで解放します。 App delegate question:新しいstackoverflowの質問を開始します。 :)それはそれ自身の話題です... – Rudi