基金会出口

Ker*_*rog 2 objective-c ios

Objective-c中FOUNDATION EXPORT的用途是什么?

所以我有:

KError.h

FOUNDATION_EXPORT NSString *const KAPPErrorDomain;

enum {
    KPUnexpectedError = -1,
};
Run Code Online (Sandbox Code Playgroud)

KError.m:

#import "KError.h"

NSString *const KAPPErrorDomain = @"com.kexample.myapp";
Run Code Online (Sandbox Code Playgroud)

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

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

Mar*_*n R 5

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

请参阅如何使用extern在源文件之间共享变量? 为了许多好的答案,为什么extern有必要以及如何运作.