変数を格納するために使用できるオプションはたくさんあります。クラスメソッドにプロパティが必要なのはなぜですか。クラスメソッドは、インスタンスの役割がない場合に実行されます。ただし、もちろん、classメソッドでクラスのインスタンスを作成し、その値をオブジェクトに格納することもできます。もう1つの方法は、いくつかのグローバル変数を作成し、クラス全体からアクセスできるように値を割り当てることです。
変数をプロパティに格納するインスタンスを作成します。
+ (void)asyncResponse:(NSDictionary*)response:(NSError*)error{
MyClass *me = [[MyClass alloc] init];
me.someProperty = response;
}
しかし、これはクラスとプロパティの非常に単純な使用法であるため、あなたがこれを探していたとは思いません。
他にできることは、実装内にいくつかの静的変数を作成し、クラスを介してそれらの変数にアクセスすることです。より簡単に使用できるように、独自のカスタムゲッターとセッターを作成することもできます。
@interface MyClass:NSObject
+(void)setResponse:(NSDictionary*)response;
+(NSDictionary*)response;
@end
NSDictionary *globalResponse;
@implementation MyClass
+(void)setResponse:(NSDictionary*)response{
if(response != globalResponse){
globalResponse = response;
}
}
+(NSDictionary*)response{
return globalResponse;
}
initializeまたはloadメソッドで応答のデフォルト値を設定できます。これにより、単純なクラスレベルのプロパティが作成されます。