美文网首页
第2条: 在类的头文件中尽量少引入其他头文件

第2条: 在类的头文件中尽量少引入其他头文件

作者: spbreak | 来源:发表于2016-02-19 10:01 被阅读15次

    使用向前声明隐藏类别细节

    @class className

    将引入头文件的时机尽量延后, 只在确有需要时才引入,这样就可以减少类的使用者所需引入的头文件数量
    如果在各自头文件中引入对方的头文件, 则会导致"循环引用"(chicken-and-egg situation). 使用#import而非#include指令虽然不会导致死循环, 但却这意味着两个类里有一个无法被正确编译.

    // chicken-and-egg situation
    #import "ClassB.h"
    @interface ClassA : NSObject
    @property (nonatomic,weak) ClassB *classB;
    @end

    #import "ClassA.h"
    @interface ClassB : NSObject
    @end

    在进行编译时,会报出以下错误:
    !Property with 'weak' attribute must be of object type
    !Unknown type name 'ClassB'

    相关文章

      网友评论

          本文标题:第2条: 在类的头文件中尽量少引入其他头文件

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