请解释你的答案,因为我已经离开了目前为止没有这么做。
由于
答案 0 :(得分:3)
@class与C ++中的类前向声明相同。
你可以简单地#import每个视图控制器的头文件,但有时候在.h文件中做前向声明(@class)更简洁,只在你的AppDelegate的.m文件中执行#import。
答案 1 :(得分:2)
你只导入你需要的东西,而@class正在做类似于#import的东西 - 它让编译器知道一个类型存在。那你为什么要告诉应用代表一个它永远不会看到的课程呢?
区别在于:
@class
只会说该课程存在,仅此而已。
#import
告诉代码该类接受哪些消息或头文件声明的其他内容。因此,当代码需要实际向对象发送消息时,请使用它。
这就是为什么一个非常通用的模式是在头文件中使用@class,在实现文件中使用#import。有时您需要在标题中导入,如果您必须知道“此类存在”以外的任何内容。
答案 2 :(得分:0)
简答:不。请参阅此问题:@class vs. #import