需要使用新变量(NSArray类型)创建一个类别。
Original Class + Extension.h:
@interface OriginalClass (Extension) {
NSArray *_array;
}
@property (nonatomic, retain) NSArray *array;
@end
但是我收到了错误:Cannot declare variable inside @interface or @protocol
。
请帮助解决问题。
答案 0 :(得分:4)
正如另一方所述,你不能。虽然已指出H2CO3,但您可以使用associative references。在Apple Documents:
请注意,类别无法为其声明其他实例变量 班级;它只包括方法。但是,所有实例变量 在班级范围内也属于 类别。这包括类声明的所有实例变量, 甚至宣布@private。
答案 1 :(得分:3)
你不能,一个类别不能声明额外的实例变量...
参考:here。
答案 2 :(得分:2)
简单:您无法使用类别将实例变量添加到类中。
如果您需要存储其他数据:请使用associated objects.