6

(NSArray 型の) 新しい変数でカテゴリを作成する必要があります。

OriginalClass+Extension.h:

@interface OriginalClass (Extension) {
    NSArray *_array;
}

@property (nonatomic, retain) NSArray *array;

@end

しかし、エラーが発生しました: Cannot declare variable inside @interface or @protocol

問題の解決にご協力ください。

4

3 に答える 3

4

他の人が述べたように、あなたはできません。H2CO3 が指摘されていますが、連想参照を使用できます。Appleドキュメントで:

カテゴリは、クラスの追加のインスタンス変数を宣言できないことに注意してください。メソッドのみが含まれます。ただし、クラスのスコープ内のすべてのインスタンス変数も、カテゴリのスコープ内にあります。これには、@private と宣言されたものも含め、クラスによって宣言されたすべてのインスタンス変数が含まれます。

関連オブジェクトに行きたい場合は、この回答を使用できます。さらに、 Ole Begemann によるこの投稿を使用できます。

于 2012-10-21T18:41:57.563 に答える
3

できません。カテゴリは追加のインスタンス変数を宣言できません...

参考:こちら

于 2012-10-21T18:16:29.817 に答える
2

簡単です。カテゴリを使用してクラスにインスタンス変数を追加することはできません。

追加のデータを保存する必要がある場合:関連オブジェクトを使用します。

于 2012-10-21T18:15:56.673 に答える