pch文件添加以后暗挑,需要在build settings 里的 Prefix Header 中把pch文件拉進去(填進路徑),把路徑前半截換成$(SRCROOT)
如果是swift語言開發(fā)的話邪乍,就不要建pch文件了偿凭,直接建swift文件,一方面因為swift文件在全局不用引入頭文件背苦,都可以調用歼郭,另一方面遗契,OC中的pch中定義的#define RGB(r,g,b,a)這種帶括號的,在swift中無法定義使用
swift中如何達到define的效果
內容如下:
預處理指令
Swift編譯器不包含預處理器实撒。取而代之的是姊途,它充分利用了編譯時屬性,生成配置和語言特性來完成相同的功能知态。因此捷兰,Swift沒有引進預處理指令。
簡單宏
在C和Objective-C负敏,您通常使用的#define指令定義的一個基本常數(shù)贡茅,在Swift,您可以使用全局常量來代替其做。例如:一個全局定義#define FADE_ANIMATION_DURATION 0.35顶考,在Swift可以使用let FADE_ANIMATION_DURATION = 0.35來更好的表述。由于簡單的用于定義常量的宏會被直接被映射成Swift全局量妖泄,Swift編譯器會自動引進在C或Objective-C源文件中定義的簡單宏驹沿。
復雜宏
在C和Objective-C中使用的復雜宏在Swift中并沒有副本。復雜宏是那些不用來定義常量的宏蹈胡,包含帶括號的函數(shù)式宏渊季。您在C和Objective-C使用復雜的宏以避免類型檢查的限制朋蔫,或避免重新鍵入大量的樣板代碼。然而却汉,宏也會產(chǎn)生Bug和重構的困難驯妄。在Swift中你可以使用函數(shù)和泛型來達到同樣的效果,無需任何的妥協(xié)合砂。因此青扔,在C和Objective-C源文件中定義的復雜宏在Swift是不能使用的。
編譯配置
Swift代碼和C翩伪、Objective-C代碼被有條件地微猖,以不同方式編輯。SWIFT代碼可以根據(jù)生成配置的評價可以有條件地編譯缘屹。生成配置包括true和false字面值励两、命令行標志以及下表中的平臺測試函數(shù)。您可以使用-D <#Flag#>指定命令行標志囊颅。
需求解決
建立一個類,將過去需要建立的那些簡單的宏傅瞻,設為全局變量踢代,例如這樣
這樣在你代碼中需要的時候直接調用即可例如
self.view.backgroundColor=CustomBarTintColor