分类(category)
① category只能添加“方法”,不能添加成员变量。
② 分类中可以访问原来类中的成员变量,但是只能访问@protect和@public属性。
③ 添加方法加上前缀,添加方法会覆盖父类的同名方法,可以防止意外覆盖,也防止被别人覆盖。
④ 分类中添加的成员变量,要通过getter、setter方法进行添加。
类扩展(extension)
① 类扩展的属性和方法都是私有的,也可以定义在.h中,这样就是共有的,类扩展中的方法是一定要实现的方法。Category没有这个限制。
协议 (protocol)
协议是委托别人做自己想做的事情,可以用来传值,或者用来监听、通知。
代理(delegate)要用assign,防止循环引用。
本文深入探讨Objective-C中的类别(Category)、类扩展(Extension)及协议(Protocol)的特性与使用限制。解析了类别无法添加成员变量,仅能添加方法,并强调了方法前缀的重要性;介绍了类扩展的私有性和方法实现的必要性;阐述了协议作为委托机制的基础,用于传值、监听和通知的原理。
2825

被折叠的 条评论
为什么被折叠?



