OC之#import, @class
虽然用的很普遍, 但是里面的一些细微的道理还是应该知道的
OC中的#import
包含了C语言中的#include
功能, 同时也更加智能: #import
不会重复导入
再说说@class
的相对于#import
的使用
@class
更像是一个声明, 他说明了xxx是一个类, 让你可以放心的把它当做一个类来使用, 而要在具体使用时,就需要#import
进行详细的导入
那为什么需要用@class
呢?
如果有成百上千的文件 #import
都用了一个头文件, 或者再进一步说像A->B,B->C,C->D....这样引用的话,当初始的头文件有变化的话,后面引用的类都需要重新编译,很耗费时间,如果是使用@class
则不会
如果出现A->B,B->A这样的引用关系, 只使用#import
会编译报错,所以为了正常使用需要在头文件中用@class
进行声明