09-07、分类(Category)的基本概念

09-07、分类(Category)的基本概念_第1张图片
Snip20170926_74.png

方法:
方法的声明:
方法的实现:

所以: 通过分类给某一个类扩充方法, 也分为声明和实现两个部分

// 分类的声明
@interface ClassName (CategoryName)
NewMethod; //在类别中添加方法
//不允许在类别中添加变量
@end

ClassName: 需要给哪个类扩充方法
CategoryName: 分类的名称
NewMethod: 扩充的方法

// 分类的实现
@implementation ClassName(CategoryName)

NewMethod
... ...
@end

ClassName: 需要给哪个类扩充方法
CategoryName: 分类的名称
NewMethod: 扩充的方法

注意:Foundation框架中的类也是通过分离来扩充方法的。比如NSString

Person+ZCL.h
#import "Person.h"

@interface Person (ZCL)
// 扩充方法

- (void)playFootball;

- (void)playBasketball;
@end
Person+ZCL.m
#import "Person+ZCL.h"

@implementation Person (ZCL)
// 实现扩充方法

- (void)playFootball
{
NSLog(@"%s", __func__);
}

- (void)playBasketball
{
NSLog(@"%s", __func__);
}
@end

你可能感兴趣的:(09-07、分类(Category)的基本概念)