关于分类不能增加属性的说法

之前一直在用分类,没有为分类增加过属性,只是为分类增加一些方法.有种说法:分类只能增加方法,不能增加属性,要增加属性,只能用延展

事实情况并不是这样:我们完全可以为分类增加属性,下面就来实现一把


再实现这个属性的setter和getter方法(一定要实现,如果不实现,xcode7.2中不会报错,但使用到这个属性的时候就会崩溃,有时间的可以试试,这里就不给出截图了):


分类完成之后,我们开始使用这个分类(在控制器中导入分类,然后创建NSString对象):

从断点可以看出,NSString这个类确实是具有了我们增加的属性:

extendedPropertyName

而且从断点可以看出,可以通过这个属性的getter方法得到这个属性的值


事实上:在我们为分类增加属性时,系统没有为我们自动实现setter和getter方法,所以需要手动实现

这与继承很相似,但不同之处在于,使用分类可以直接用原来的类创建对象,并使用我们增加的属性,这样能让人觉得有种"亲切感"

阅读更多
文章标签: xcode 对象 继承
个人分类: iOS 分类 增加属性
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

关于分类不能增加属性的说法

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭