研究了下类别,都是网上找的资料,类别的作用
类别主要有3个作用:
(1)将类的实现分散到多个不同文件或多个不同框架中。
(2)创建对私有方法的前向引用。
(3)向对象添加非正式协议。
其中第二点真的晦涩啊,找了半天的资料终于搞懂,我的理解就是实现对基类中私有方法(就是没在.h文件中申明)的访问,在基类中有一个私有方法a();直接访问是不行的,就需要在类别中.h文件中声明一下这个方法,然后就可以调用了。
1、基类
#import "Person.h"
@implementation Person
- (void)eat{
NSLog(@"I am eating!");
}
@end
2、分类
@interface Person (Test)
- (void)eat;
@end
3、调用
#import "Person+Test.h"
@implementation Person (Test)
- (void)ser{
[self eat];
}
@end