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

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

作者: 海盗军长 | 来源:发表于2018-07-12 12:54 被阅读0次
    //Person.h
    #import <Foundation/Foundation.h>
    //#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. 在类的头文件中尽量少引入其他头文件

          本文链接:https://www.haomeiwen.com/subject/zrakuftx.html