美文网首页
关于.h相互import的问题

关于.h相互import的问题

作者: 程序狗 | 来源:发表于2017-12-04 13:49 被阅读20次
    image.png
    image.png

    如图所示,当我们Father类与Son类分别在.h相互,并定义了相互的一个属性,Father类定义了Son类的一个属性,Son类定义了Father类的一个属性,编译器报了不能识别Father类和Son类的错误。
    这是为什么呢?
    原因就在于,Father类在声明的时候定义了一个Son类,Son类在声明的时候定义了一个Father类,导致了循环定义,所以编译器报了无法识别的错误。
    如何解决这个问题呢,这时就可以引入@class关键字。分别在Father类和Son类用@class Son和@class Father告诉编译器我们有Father和Son这个类,如图


    image.png
    image.png

    此时,我们就可以编译通过了。
    其实,我们提倡在.m文件中Import .h文件,因为每次已修改h文件时,所有import该h文件都需要重新在编译,大大加长了编译的时间。所以我们更提倡在h文件使用@class 关键字而在m文件import。

    相关文章

      网友评论

          本文标题:关于.h相互import的问题

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