OC阅读笔记九:分类(下)

来源:互联网 发布:百度快照优化 编辑:程序博客网 时间:2024/05/01 11:35

    除了"class-continuation"之外的分类定义属性都无法向类中新增实例变量.

    如果必要,可以用@dynamic声明,然后使用消息转发机制在运行期拦截方法调用,提供实现方法.

    关联对象能解决分类不能合成实例变量的问题,但容易在内存管理问题上出错.

    一般最好的作法是将所有属性都定义在主接口.

    在"class-continuation"分类里可以隐藏实例变量和遵循的协议.也可以将只读的属性拓展为可读写供实现代码使用.

    "class-continuation"分类也可以引入C++类,这么做可以避免头文件被引用时,实现文件被拓展为.mm的问题.

1 0