2013-10-11 87 views
2

什麼是在Objective-C使用粉底出口?基金會出口

所以我必須:

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?

+0

@JoshCaswell:哎呀,沒看到... –

回答

5

是的。 FOUNDATION_EXPORT爲展開至extern(在C++文件或extern "C") 一個宏,那就是 關鍵字來聲明所跨源文件共享的變量(更好:橫跨「翻譯單位」共享 )。

請參閱How do I use extern to share variables between source files? 很多很好的答案爲什麼extern是必要的,它是如何工作的。