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吗?
是.FOUNDATION_EXPORT是一个扩展为extern
(或extern "C"在C++文件中)的宏,这是声明在源文件之间共享的变量的关键字(更好:跨"翻译单元"共享).
请参阅如何使用extern在源文件之间共享变量?
为了许多好的答案,为什么extern有必要以及如何运作.