我想在Objective-C头文件中定义一个类似C结构的文件,但只包含@implementation
,因为这只是一个头文件而没有相应的@implementation
。这甚至可能吗?
(我也不想强制头文件包含者添加@interface
,因为这是一个简单的描述符定义)
我希望它是_ivars
定义,所以想要扩展它并向其添加更多数据成员的用户可以这样做(再次,只有{{1}})。但是,如果您想到某些事情,其他建议可能会有效。
答案 0 :(得分:2)
是的,必须为编译器编译的类声明@implementation
,以使类在运行时实现(包括支持@property
声明的存储。
编译完成后,该类无法通过自动备份的其他@properties
进行扩展(可以通过类别进行扩展,但您可以自己进行存储,并且通常不建议使用类的分类扩展)。