4. 在类的头文件中尽量少引入其他头文件

//Person.h
#import 
//#import  "Employer.h" 
@class Employer; 
* 注:使用@class “向前声明”,而不是导入整个头文件,因为在编译 Person.h 时,不需要知道 Employer 类的全部细节,只需要知道有一个类名叫 Employer 就可以。

@interface Person : NSObject

@property (nonatomic, copy) NSString *firstName;
@property (nonatomic, copy) NSString *lastName;
@property (nonatomic, strong) Employer *employer;

//Person.m

#import "Person.h"
#import "Employer.h"   
* 注:Person 类的 .m 文件里面,需要导入 Employer.h 。因为此时,需要使用到 Employer 类,必须知道其所有接口细节。

@implementation Person

@end

将引入头文件的时机尽量后延,只在确有需要时才引入,这样就可以减少类的使用者所需引入的头文件数量。假设把 Employer.h 引入到 Person.h ,那么只要引入 Person.h , 就会一并引入 Employer.h 的所有内容。这会引入许多根本用不到的内容,增加编译时间。

你可能感兴趣的:(4. 在类的头文件中尽量少引入其他头文件)