iOS OC 避免在分类中声明属性

一 描述

     尽管从技术上来说,分类里可以声明属性,但是这种做法还是要尽量避免,原因在于,除了 class-continuation 分类(延展)之外,其他分类都无法向类中新增实例变量,因此,他们无法把实现属性所需的实例变量合成出来。


    正确做法是把所有属性都定义在主接口中,这是唯一能够定义实例变量的地方。而属性只是定义实例变量及相关存取方法所用的“语法糖”,所有也应遵循同实例变量一样的规则。


    至于分类机制,则应该将其理解为一种手段,目标在于扩展类的功能,而非封装数据


二 总结

    封装数据所用的全部属性都定义在主接口中

    在class-continuation外其他分类中,可以定义存取方法,但尽量不要定义属性    



你可能感兴趣的:(ios,分类,oc)