我很困惑我们何时在代码中使用@class关键字?我们可以使用类头文件来代替......
任何输入都将不胜感激,
谢谢,
穆赫辛
答案 0 :(得分:3)
比如说你有一个自定义的NSView,MyView.h:
@interface MyView : NSView {
// instance variables…
}
…
@end
您需要在应用程序委托中使用它。 MyAppDelegate.H:
@class MyView;
@interface MyAppDelegate : NSObject <NSApplicationDelegate> {
MyView *view;
}
…
@end
然后在MyAppDelegate.m中:
#import "MyView.h"
@implementation MyAppDelegate
…
@end
MyAppDelegate.h中的#import
MyView.h没有任何意义,因为您只需要该类的名称。 @class MyView
是一个前向声明,说是一个名为MyView的类,所以不要生成错误。这有点像在C中声明一个方法原型。然后在MyAppDelegate.m中,我们需要为MyView.h中声明的方法和其他任何东西导入它。