这个问题在这里已经有了答案:
9年前关闭。
我想知道为什么使用@class。我有一个普遍的理解,它允许您访问您调用的那个类中的东西,但是我不知道它的好处..
最佳答案
@class
指令设置对另一个类的前向引用。它告诉编译器命名的类存在,所以当编译器到达时,比如 @property
指令行,不需要额外的信息,它假设一切都很好并继续前进。
例如,此代码本身就可以正常工作:
#import <UIKit/UIKit.h>
#import "MyExampleClass"
@interface CFExampleClass : NSObject <SomeDelegate> {
}
@property (nonatomic, strong) MyExampleClass *example;
@end
但是,假设我们想要避免循环包含这些头文件(例如
CFExampleClass
导入 ojit_code 和 MyExampleClass
导入 ojit_code ),那么我们可以使用 MyExampleClass
告诉编译器 CFExampleClass
存在而没有任何提示。#import <UIKit/UIKit.h>
@class MyExampleClass;
@interface CFExampleClass : NSObject <SomeDelegate> {
}
@property (nonatomic, strong) MyExampleClass *example;
@end
关于iphone - 为什么在objective-c 中使用@class,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10809562/