@interface with properties 是否只需要@implementation?

Does @interface with properties only require @implementation?

我想在我的 Objective-C 头文件中定义一个类似 C 结构的文件,它只包含 _ivars,但是,因为这只是一个头文件,所以不会有相应的 @implementation.这可能吗? (我也不想强制头文件包含者添加 @implementation 因为这是一个简单的描述符定义)

我希望它是 @interface 定义,以便喜欢扩展它并向其添加更多数据成员的用户可以这样做(同样,只有 _ivars)。但是,如果您想到什么,其他建议可能会奏效。

是的,必须有一个 @implementation 声明为由编译器编译的 class 导致 class 在运行时实现(包括支持的存储@property 声明。

编译后,class 无法使用自动支持的附加 @properties 进行扩展(它可以通过类别进行扩展,但您需要自己进行 [= 的存储和分类扩展) 17=]es 通常不推荐使用。