27、使用“class-continuation”分类隐藏实现细节

将使用到的C++文件在实现文件中导入,仅使实现文件扩展名为.mm,使用OC++编译。头文件仍就是.h,使用OC编译。从而实现隐藏C++代码的效果。如系统的WebKitCoreAnimation就用到了此模式,内部很多都用C++写成,但对外公布的却是一套纯OC接口

要点:

  • 通过“class-continuation分类”向类中新增实例变量

  • 如果某属性在主接口中什么为“只读”,而类的内部又要用设置方法修改此属性,那么就在“class-continuation分类”中将其扩展为“可读写”

  • 把私有方法的原型声明在“class-continuation分类”里

  • 若想是使类遵循的协议不为人所知,则可以于“class-continuation分类”中声明

Last updated

Was this helpful?