Like: - Class1、私にはtempDataという変数があります。 - Class2では、tempDataに値を割り当てることができます。 tempData = @"apple";
- Class3では、tempDataの値を取得できます。 class3Data = tempData
。 //class3Data's value is "apple".
Objective Cですべてのクラスがアクセスできる変数を定義する方法は?
どうすればよいですか?
Like: - Class1、私にはtempDataという変数があります。 - Class2では、tempDataに値を割り当てることができます。 tempData = @"apple";
- Class3では、tempDataの値を取得できます。 class3Data = tempData
。 //class3Data's value is "apple".
Objective Cですべてのクラスがアクセスできる変数を定義する方法は?
どうすればよいですか?
どちらのこのコード
+ (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"
を使用してください。
注:第二のアプローチを行うには良い方法は、一定のファイル(ヘッダファイル)を作成し、(定数の)
マイ好ましい解決策は、新しいを作成することです、そのクラスでグローバル変数を宣言することですヘッダファイル(.H)と次のように定数を宣言するには:
#define API_ADDR @"http://anURL.com"
あなたがそれを必要とするどこでも、ちょうどExternalVariables.h
をインポートすると:
NSLog(@"%@", API_ADDR);
これが役に立ちます。
sharedmanagerはオプションです –
最後にどちらの方法を選択しましたか? – AnthoPak