Object-C中的category的用法

当一个类的方法和实现过于臃肿时或想新增更多原有的类的方法,可以根据实际需求创建一个或多个category(分类)文件,其目的是方便管理和维护代码,为已有的类进行扩展方法。

创建category的方法:

Xcode中新建文件,选择Object-C file,file type选择category,Class选择要写那个类的分类,然后点击创建。

创建完成后显示以下语法样式:

@interface NSObject (test)

@end

category的局限:

1.category只可增加方法,不可新增属性,所有在分类中声明的p@property属性,不会自动生成实现。

2.在分类的实现中,不可访问本类的私有属性,但是可以通过geter和seter方法来进行操作。

3.当分类中出现和本类相同名称的方法时,有限调用本类的方法。当出现多个分类中都拥有相同的方法时,系统默认调用最后一个编译的分类中的方法。

category的使用场景

1.当1个类的方法很多,代码比较臃肿的时候,可以使用分类,将功能相似的方法写在同一个分类中,方便管理和维护。

2.为已经存在的类进行方法的扩展。

3.使用category分类时,需要#import 分类头文件。

category和继承的区别:

category没有新创建类, category中的方法依然是本类的对象调取使用。

继承是新创建一个子类,而且继承不仅可以新增自己的方法,还能新增属性。

猜你喜欢

转载自blog.csdn.net/JustinZYP/article/details/124170660