@class和#import 的区别

          1.如果在.h中导入import,假如A拷贝了B,B拷贝了C,如果C被修改了,那么A和B都需要重新拷贝,也就是说只要有间接关系都会发生重新拷贝
          2.如果在.h用@class,.m中用#import,那么如果一个文件发生变化,只有和这个文件有直接的关系的那个文件才会发生拷贝
           3.如果都在.h文件中@class;可以提高程序的编译率;
假如两个类相互拷贝,例如A拷贝B,B拷贝A,这样会报错(强引用循环);
在.h中用@class,那么不会有任何拷贝操作,而在.m中用#import只会拷贝对应的文件,并不会形成死循环。所以在编写程序中,建议在.h中导入@class,在.m中才用#import。
原文地址:https://www.cnblogs.com/liumu/p/5240287.html