如何在Objective-C中将变量添加到类别?

Dmi*_*try 6 objective-c categories ios

需要创建一个带有新变量的类别(类型为NSArray).

OriginalClass + Extension.h:

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

@property (nonatomic, retain) NSArray *array;

@end
Run Code Online (Sandbox Code Playgroud)

但我得到了错误:Cannot declare variable inside @interface or @protocol.

请帮忙解决问题.

Rui*_*res 4

正如另一个人所说,你不能。虽然有 H2CO3 指出,但您可以使用关联引用。在苹果文档

\n\n
\n

请注意,类别不能为该类声明附加实例变量;它仅包含方法。但是,类范围内的所有实例变量也都在类别范围内。这包括类声明的所有实例变量,甚至是声明为 @private 的实例变量。

\n
\n\n

如果你想寻找关联的对象,你可以使用这个答案。此外,您还可以使用这个文章。

\n