您的位置:首页 > 其它

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

2016-05-31 15:58 253 查看
之前一直在用分类,没有为分类增加过属性,只是为分类增加一些方法.有种说法:分类只能增加方法,不能增加属性,要增加属性,只能用延展

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



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



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


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

extendedPropertyName

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

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

这与继承很相似,但不同之处在于,使用分类可以直接用原来的类创建对象,并使用我们增加的属性,这样能让人觉得有种"亲切感"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  xcode 对象 继承