//由于import是一个预编译指令,它会将""中的文件拷贝到import所在的位置
并且immport与一个特点,只要""中的文件发生了变化,那么import就会宠幸拷贝一次(更新操作)
/*
@class仅仅是告诉编译器,@class后面的名称就是一个类,不会做任何拷贝操作
注意:由于@class仅仅是告诉编译器红藕面的名称是一个类,所以编译器并不知道这个类中有哪些属性和方法,所以在.m中使用这个类是需要import这个类,才能使用
总结:
1.如果都在.h中import,假如A拷贝了B,B拷贝了C,如果C被修改了,那么B和A都需要要重新拷贝。因为C修改了那么B就会重新拷贝,而B重新拷贝之后相当于B也被修改了,那么A也需要重新拷贝,也就是说如果在.h中拷贝,只要有间接关系都会重新拷贝
2.如果在.h中用@class,在.m中用import,那么如果一个文件发生了变化,只有和这个文件有直接关系的那个文件才会重新拷贝
3.所以在.h中用@class可以提升编译效率
@class相互拷贝
如果两个类相互拷贝,例如A拷贝B,B拷贝A,这样会报错
如何解决:在.h中@class,在.m中用import
因为如果.h中都用import,那么A拷贝B,B有拷贝A,会形成死循环
如果在.h中用@class,那么不做任何拷贝操作,而在.m中import只会拷贝对应的文件并不会形成死循环