如何添加pch文件(pch文件不生效的問題解決)

pch文件添加以后,需要在build settings 里的 Prefix Header 中把pch文件拉進去(填進路徑),把路徑前半截換成$(SRCROOT)

如果是swift語言開發的話,就不要建pch文件了,直接建swift文件,一方面因為swift文件在全局不用引入頭文件,都可以調用,另一方面,OC中的pch中定義的#define RGB(r,g,b,a)這種帶括號的,在swift中無法定義使用

swift中如何達到define的效果
內容如下:

預處理指令

Swift編譯器不包含預處理器。取而代之的是,它充分利用了編譯時屬性,生成配置和語言特性來完成相同的功能。因此,Swift沒有引進預處理指令。

簡單宏

在C和Objective-C,您通常使用的#define指令定義的一個基本常數,在Swift,您可以使用全局常量來代替。例如:一個全局定義#define FADE_ANIMATION_DURATION 0.35,在Swift可以使用let FADE_ANIMATION_DURATION = 0.35來更好的表述。由于簡單的用于定義常量的宏會被直接被映射成Swift全局量,Swift編譯器會自動引進在C或Objective-C源文件中定義的簡單宏。

復雜宏

在C和Objective-C中使用的復雜宏在Swift中并沒有副本。復雜宏是那些不用來定義常量的宏,包含帶括號的函數式宏。您在C和Objective-C使用復雜的宏以避免類型檢查的限制,或避免重新鍵入大量的樣板代碼。然而,宏也會產生Bug和重構的困難。在Swift中你可以使用函數和泛型來達到同樣的效果,無需任何的妥協。因此,在C和Objective-C源文件中定義的復雜宏在Swift是不能使用的。

編譯配置

Swift代碼和C、Objective-C代碼被有條件地,以不同方式編輯。SWIFT代碼可以根據生成配置的評價可以有條件地編譯。生成配置包括true和false字面值、命令行標志以及下表中的平臺測試函數。您可以使用-D <#Flag#>指定命令行標志。

需求解決

建立一個類,將過去需要建立的那些簡單的宏,設為全局變量,例如這樣

這樣在你代碼中需要的時候直接調用即可例如

self.view.backgroundColor=CustomBarTintColor

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容