category

category 是 Objective-C 2.0 之后添加的语言特性, category 的主要作用是为已经存在的类添加方法

  1. extension 在编译期决议,它就是类的一部分,在编译期和头文件里的 @interface 以及实现文件里的 @implement 一起形成一个完整的类,它伴随 类的产生而产生,亦随之一起消亡。
  1. 但是 category 则完全不一样,它是在运行期决议的。 就 category 和 extension 的区 别来看,我们可以推导出一个明显的事实, extension 可以添加实例变量,而
    category 是无法添加实例变量的(因为在运行期,对象的内存布局已经确定,如果添 加实例变量就会破坏类的内部布局,这对编译型语言来说是灾难性的)。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容