5

Objective-c 中的 FOUNDATION EXPORT 有什么用?

所以我有:

KError.h

FOUNDATION_EXPORT NSString *const KAPPErrorDomain;

enum {
    KPUnexpectedError = -1,
};

KError.m:

#import "KError.h"

NSString *const KAPPErrorDomain = @"com.kexample.myapp";

我假设在这种情况下使用 Foundation_export 时,是为了能够在另一个文件中使用变量?

这样在 KService.m 中,我可以毫无问题地引用 KAppErrorDomain 吗?

4

1 回答 1

6

是的。FOUNDATION_EXPORT是一个扩展为extern (或extern "C"在 C++ 文件中)的宏,它是声明跨源文件共享的变量的关键字(更好的是:跨“翻译单元”共享)。

请参阅如何使用 extern 在源文件之间共享变量? 对于许多好的答案,为什么extern是必要的以及它是如何工作的。

于 2013-10-11T20:42:51.993 回答