ios category怎么用
2017-02-28
展开全部
category 可以不用继承系统类,直接给系统添加新的方法,最大程度的体现了oc语言的动态语言特性。
注意:1.category的方法不一定非要在@implementation中实现,也可以在其他位置实现,但是当调用category的方法时,继承树没有找到该方法的实现,程序就会崩溃。
2.category不能添加成员变量,但是可以使用@dynamic弥补这种不足。(既运行时runtime)
extension非常像没有命名的类别。
注意:extension中的方法必须在@implementation中实现,否则会编译报错。
类别是类的扩展,只可以声明方法,不可以声明变量,类别的方法优先级较高,可覆盖原类方法。
类别的方法中,不可以调用super方法。
使用情景:1.对框架提供类的扩展。
2.不想生成一个新的子类的情况下,比如对NSArray的扩展。
扩展:某些情况下,我们需要声明一个@property,它对外是只读的,而对内是可读可写的,这时,可以通过extension实现。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询