すべてのクラスに機能と別のプロパティを追加したいと考えています。
だから私はカテゴリーを書きました:
@implementation NSObject (MyCategory)
そして、その中で静的プロパティを宣言しました:
static MyObj myObj;
そして、それを取得および設定するための 2 つのクラス メソッドを作成しました。
+ (MyObj) getMyObj {
return myObj;
}
+ (void) setMyObj:(MyObj)obj {
myObj = obj;
}
NSObject+MyCategory.h を .pch ファイルにインポートしたので、すべてのクラスが影響を受けます。実際、すべてのクラスに新しい機能と状態が追加されました。
#import "NSObject+MyCategory.h"
問題は、myObj を設定すると、すべてのクラスで myObj が変更されることです。すべてのクラスが 1 つの myObj を共有します。
各クラスには、カテゴリを使用して追加される独自の myObjが必要です。myObj は 1 つではなく、クラスと同じ数の myObj が必要です。各クラスには独自の myObj が必要です。
ありがとう、ヌール