Objective-C 接口的前向声明

2024-01-10

我如何转发声明这个对象:

@interface MyClass : NSObject <AVAudioSessionDelegate>
{

}

@end

在目标c中


这是 ObjC 类型的前向声明:

@class MyClass;

这是 ObjC 协议的前向声明:

@protocol AVAudioSessionDelegate;

对于那些好奇为什么这有用的人:前向声明可用于显着减少依赖关系并显着减少构建时间,因为它允许您避免#importing 标头和/或整个框架(然后#import其他框架)。当不使用前向声明时,许多不必要的头对于程序的其他部分来说是可见的——更改一个头可能会导致许多文件被重新编译,并且编译和链接时间将会增加。因为 ObjC 类型始终作为指针处理(在我们的抽象级别),所以在大多数情况下前向声明就足够了。然后你可以在你的@implementation或继续上课以及#import然后可以进入*.m文件。另一个原因是避免循环依赖。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Objective-C 接口的前向声明 的相关文章

随机推荐