关闭

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

标签: xcode对象继承
198人阅读 评论(0) 收藏 举报
分类:

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

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


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


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

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

extendedPropertyName

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


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

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

1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2804次
    • 积分:111
    • 等级:
    • 排名:千里之外
    • 原创:8篇
    • 转载:0篇
    • 译文:0篇
    • 评论:3条
    最新评论