category、extension、protocol

分类(category)
① category只能添加“方法”,不能添加成员变量。
② 分类中可以访问原来类中的成员变量,但是只能访问@protect和@public属性。
③ 添加方法加上前缀,添加方法会覆盖父类的同名方法,可以防止意外覆盖,也防止被别人覆盖。
④ 分类中添加的成员变量,要通过getter、setter方法进行添加。
类扩展(extension)
① 类扩展的属性和方法都是私有的,也可以定义在.h中,这样就是共有的,类扩展中的方法是一定要实现的方法。Category没有这个限制。

协议 (protocol

协议是委托别人做自己想做的事情,可以用来传值,或者用来监听、通知。
代理(delegate)要用assign,防止循环引用。

发布了39 篇原创文章 · 获赞 8 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/jancywen/article/details/95100424