Category

优点:

1.增加方法不需要继承。

2.类的实现分散化。

3.前向引用。在其他地方使用类(或者Category)的私有实现时(会报错,编译不能通过),只需要在文件中添加一个声明了私有方法的Category,该方法只需要声明不需要实现,Runtime会找到实现。

4.私有委托。(不知道咋回事)

 

缺点:

1.不能添加成员变量。可通过关联实现(setAssociatedObject&getAssociatedObject)。

2.名称冲突,类别方法会覆盖类方法。

3.编译器不建议覆盖父类init方法。

 

Extension:

必须放在.m文件中

一般括号中没有名称,如:

@interface MyClass () 

@property (retain, readwrite) float value; 

@end

 

posted on 2015-12-08 17:37  gjcat88  阅读(112)  评论(0编辑  收藏  举报

导航