Object-C学习(一)——类别的创建、实现及调用

//定义类别

@class NoteClass;
@interface NoteClass (NoteCategory)
-(BOOL)testSameNote:(NoteClass *)aNote;
@end
//实现类别
#import "NoteClass.h"
#import "NoteCategory.h"
@implementation NoteClass(NoteCategory)
-(BOOL)testSameNote:(NoteClass *)aNote{
if([self.date isEqualTo:aNote.date]
  &&[self.content isEqualTo:aNote.content]){
return YES;
}
return FALSE;
}
@end

 类别的局限性:

第一、   无法向类别中添加新的实例变量,类别没有位置容纳实例变量。

第二、   名称冲突,即类别中的方法与现有的方法重名。当发生名称冲突时,类别具有更高的优先级。你的类别方法将完全取代初始方法,从而无法再使用初始方法。有些编程人员在自己的类别方法名中增加一个前缀,以确保不发生名称冲突。

 

类别的作用:

1、  将类的实现分散到多个不同的文件或多个不同框架中;

2、  创建对私有方法的前向引用;

3、  向对象添加非正式协议。

posted @ 2015-08-13 14:56  Mas丶Driver  阅读(542)  评论(0编辑  收藏  举报