swift 預編譯

Swift 常用條件編譯

自定義Flag

OC 中一般使用預編譯宏來做條件編譯,比如說添加個DEBUG =1 宏來區別測試版本和發佈版本,寫法一般是

#if DEBUG

由於很多公司喜歡搞同一個代碼多個程序,所以爲了更容易通過審覈,咱們只要不停的換皮,而動態判斷有些不妥,只好使用預編譯宏來做區分,swift中也有這個編譯方式寫法和OC一樣 ,不同在於或是 ||而不是|

#if <condition>
#elseif <condition>
#else
#endif
//這個是swift寫法
if Note1 || Note2

系統Flag

系統相關
Function Params
os()判斷系統 OSX,iOS,watchOS
arch()判斷cpu版本 x86_64,arm,arm64,i386
// os()只能檢測系統類型,而無法檢測系統的版本
#if os(OSX)
    typealias Color = NSColor
#elseif os(iOS)
    typealias Color = UIColor
#endif
語言相關
#if swift(>=4)
    // Swift 4 及以上
#else
    // Swift 4 以下
#endif
ios版本
if #available(iOS 10.0, *) {
    // iOS 10 及以上
}else{
    // iOS 10 以下
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章