使用#import而不使用@class潜藏的问题:
1、建立复合关系的时候,你只希望需要成员变量对象的类型,不需要它的类的其他部分,这存在代码的安全性问题。
2、使用#import的头文件冲过发生了改变,引用它的头文件都需要被重新编译,这导致效率低下。
3、在2个类互相引用的时候,#import会引起编译错误,而@class则不会。
啥时候应该用#import?
一个头文件里面包含了许多个类声明,并且引用这个头文件的时候。
使用@class有啥讲究?
1、头文件名与类名一样。
2、头文件只有该类别无其他。
3、如果需要使用该类的实例变量和方法,需要在.m中#import ClassName。
protocol在工程中的作用是啥?
解耦,另外,协议最好单独放在一个头文件中,以免引用不必要的其他内容进来。
@class有啥用?
就是告诉其他类有这么一个类型,你就放心用吧。