iOS开发中category优点和缺点,作用

2016-04-06  本文已影响1500人  巴糖

优点:

不需要通过增加子类而增加现有类的行为(方法),且类目中的方法与原始类方法基本没有区别;

通过类目可以将庞大一个类的方法进行划分,从而便于代码的日后的维护、更新以及提高代码的阅读性;

缺点:

无法向类目添加实例变量,如果需要添加实例变量,只能通过定义子类的方式;

类目中的方法与原始类以及父类方法相比具有更高优先级,如果覆盖父类的方法,可能导致super消息的断裂。因此,最好不要覆盖原始类中的方法。

类别的作用

给系统原有类添加方法,不能扩展属性。

如果类别中方法的名字跟系统的方法名一样,在调用的时候类别中的方法优先级更高;

分散类的实现:如:

+ (NSIndexPath *)indexPathForRow:(NSInteger)row inSection:(NSInteger)section

原本属于NSIndexPath的方法,

但因为这个方法经常使用的表的时候调用、跟表的关系特别密切,因此把这个方法一类别的形式、声明在UITableView.h中。

声明私有方法,某一个方法只实现,不声明,相当于私有方法。

类别不能声明变量,类别不可以直接添加属性。

property描述setter方法,就不会报错。

上一篇 下一篇

猜你喜欢

热点阅读