2016-06-22 10 views
0

Like: - Class1、私にはtempDataという変数があります。 - Class2では、tempDataに値を割り当てることができます。 tempData = @"apple"; - Class3では、tempDataの値を取得できます。 class3Data = tempData//class3Data's value is "apple".Objective Cですべてのクラスがアクセスできる変数を定義する方法は?

どうすればよいですか?

+0

sharedmanagerはオプションです –

+0

最後にどちらの方法を選択しましたか? – AnthoPak

答えて

0

どちらのこのコード

+ (Class1 *)sharedInstance 
{ 
    static dispatch_once_t once; 
    static Class1 *shared; 
    dispatch_once(&once,^{ shared = [[Class1 alloc] init]; }); 
    return shared; 
} 

を使用してクラス1のSharedinstanceを作り、あなたが好きな場所[Class1 sharedInstance].tempDataとして、あなたの変数にアクセスします。しかし、単純な文字列や整数のような小さなデータを使用したい場合。静的変数は、アプリケーション内の任意のクラスの本文の外側に作成する必要があります。必要なのは、使用したい部分に見えるようにすることだけです。ファイルClass.hのように、これを宣言します。

static NSString *tempStr = @"test"; 

@interface Class 
//code goes here of class 
@end 

これをどこにでも使用します。これを使用したい場合は、#import"class.h"を使用してください。

注:第二のアプローチを行うには良い方法は、一定のファイル(ヘッダファイル)を作成し、(定数の)

0

マイ好ましい解決策は、新しいを作成することです、そのクラスでグローバル変数を宣言することですヘッダファイル(.H)と次のように定数を宣言するには:

#define API_ADDR @"http://anURL.com" 

あなたがそれを必要とするどこでも、ちょうどExternalVariables.hをインポートすると:

NSLog(@"%@", API_ADDR); 

これが役に立ちます。

関連する問題