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

@class (向前声明)

只是告诉编译器,其后面声明的名称是类的名称,至于这些类是如何定义的,后面会再告诉你。

#import

确定一个文件只能被导入一次,这使你在递归包含中不会出现问题。

所以,#import比起#include的好处就是不会引起交叉编译

注意:如果在各自头文件中引入对方的头文件,则会导致“循环引用 ”。

  虽然#import(而非#include指令)不会导致死循环,但却意味着两个类里有一个无法被正确编译。

总结:

尽量.h中用@class,.m中用#import。

 
原文地址:https://www.cnblogs.com/Pikdays/p/4114445.html