OC高效率52:(二)类的头文件中尽量少引用其他头文件

//
//  EOCPerson.h
//  OC高效率52:类的头文件中尽量少引用其他头文件
//
//  Created by Zoujie on 15/10/8.
//  Copyright © 2015年 Zoujie. All rights reserved.
//

#import <Foundation/Foundation.h>
//#import "EOCEmployer.h"
@class EOCEmployer;//向前申明该类,将引入头文件的时机尽量延后,只有确定需要时才引入;如果把EOCEmployer.h引入到EOCPerson.h,那么只要引入EOCPerson.h就会一并引入EOCEmployer.h的所有内容。向前声明也解决了两个类互相引用的问题

@interface EOCPerson : NSObject
@property (nonatomic,copy) NSString *firstName;
@property (nonatomic,copy) NSString *lastName;
#pragma mark -要点
/*
 * 除非确有必要,否则不要引入头文件。一般来说,应在某个类的头文件中使用向前声明来提及别的类,并在实现文件中引入哪些类的头文件。这样做可以尽量降低类之间的耦合。
 
 *有时无法使用向前声明,比如要声明某个类遵循一项协议。这种情况下,尽量把“该类遵循某协议”的这条声明移至“class-continuation分类中”。如果不行的话,就把协议单独放在一个头文件中,然后将其引入。
 
 */

@property (nonatomic,strong) EOCEmployer *employer;
@end
//
//  EOCPerson.m
//  OC高效率52:类的头文件中尽量少引用其他头文件
//
//  Created by Zoujie on 15/10/8.
//  Copyright © 2015年 Zoujie. All rights reserved.
//

#import "EOCPerson.h"
#import "EOCEmployer.h"

@implementation EOCPerson

@end
//
//  EOCEmployer.h
//  OC高效率52:类的头文件中尽量少引用其他头文件
//
//  Created by Zoujie on 15/10/8.
//  Copyright © 2015年 Zoujie. All rights reserved.
//

#import <Foundation/Foundation.h>
@class EOCPerson;
@interface EOCEmployer : NSObject

-(void) addEmployee:(EOCPerson *)person;
-(void) deleteEmployee:(EOCPerson *)person;
@end
//
//  EOCEmployer.m
//  OC高效率52:类的头文件中尽量少引用其他头文件
//
//  Created by Zoujie on 15/10/8.
//  Copyright © 2015年 Zoujie. All rights reserved.
//

#import "EOCEmployer.h"
#import "EOCPerson.h"
@implementation EOCEmployer

@end


你可能感兴趣的:(OC高效率52:(二)类的头文件中尽量少引用其他头文件)