我们什么时候在iPhone SDK中使用@class

时间:2010-08-19 16:25:29

标签: iphone

我很困惑我们何时在代码中使用@class关键字?我们可以使用类头文件来代替......

任何输入都将不胜感激,

谢谢,

穆赫辛

1 个答案:

答案 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中声明的方法和其他任何东西导入它。