@class && #import

先前被问到@class和#import的区别,我很直白的说使用@class是对要引用的类进行一个声明,不让编译器报错,到后面要用的时候再引入相应的类,而#import则会引入类的所有实例变量和方法。接下来又被问到这样做有什么好处,顿时有点语塞,我只是说这样会效率高一点,至于效率为什么高,什么情况会效率高我自己也没想太清楚。

效率问题是编译器只编译头文件,头文件如果使用了太多的#import引入文件,特别是在文件间存在依赖关系的时候,那么有时候一个头文件的改变会使所有依赖该头文件的所有类都重新编译一次,效率低是可想而知的,但是使用@class却不会。

终于明白,“喜欢”是一种莫大的能量!
原文地址:https://www.cnblogs.com/tml839720759/p/3384840.html