任何人都可以使用@class指出文档或详细讨论。 我一直在使用它,但还没有完全理解它。 我想更多地了解它并完全理解它。
提前谢谢。
答案 0 :(得分:4)
// header.h
#import <Foundation/Foundation.h>
@class reference;
@interface class
...
@end
// implementation.m
#import "header.h"
#import "reference.h"
@implementation class
...
@end
如果您有一个在多个文件之间循环引用的类,并且导入包含@class
指令所描述的类的标题,则可以使用此方法,并且可以安全地循环引用该类。
答案 1 :(得分:4)
@class
用于declare一个班级。基本上告诉编译器:“嘿,在源代码中有一个名为 somewhere 的类。定义将在稍后出现,但我现在可以将其名称用作指针类型。”
另见:
developer.apple.com
SO: Class vs Import
MacRumors
注意:正如Richard J. Ross III所指出的,@class
关键字允许循环引用(当两个类都相互依赖时),而不会破坏构建。
答案 2 :(得分:2)
@class
通常用作.h文件中的转发声明。它的作用是说一个名为ClassName的类实际上存在而不必导入和读取ClassName.h文件,因为它可能会被.m文件导入