MARK、TODO、FIXME
- // MARK: 類似於OC中的 #pragma mark
- // MARK: - 類似於OC中的 #pragma mark -
- //TODO: 用於標記未完成的任務
- // FIXME: 用於標記待修復的問題
- #warning: 用於標記未完成的任務或需要提醒的任務
左邊在代碼中寫的標記,當你點擊上方的結構欄會相應展示成右邊那樣
左邊在代碼中寫的標記,當你點擊上方的結構欄會相應展示成右邊那樣
注意點:MARK - 和MARK的區別在於有MARK - 標記的在上方會有條橫線
#warning: 在代碼中的具體顯示:
條件編譯
- 在 Build Settings中可以設置整個工程的flag:
添加flag方式有兩種:
1. 在Active Compilation Conditions 直接點擊添加
2. 在Other Swift Flags 中 -D 加上你要添加的flag
- 使用Flag的方式
打印
log("123") //輸出:main.swift_2690_TestSwift: 123
func test(){
log("456", file: #file, line: #line, fn: #function)
}
test() //輸出:main.swift_2692_test(): 456
系統版本檢測
API可用性說明
//iOS系統10以前的不能用Person類,10以後可以
//macOS系統10.15以前的不能用Person類,10.15以後可以
@available(iOS 10, macOS 10.15, *)
class Person {}
struct Student {
//study_()方法已經不能用,被重新命名爲study()
@available(*, unavailable, renamed: "study")
func study_() { }
func study() { }
//iOS系統11以前的不能用run方法,11以後可以
//macOS系統10.12以前的不能用run方法,10.12以後可以
@available(iOS, deprecated: 11)
@available(macOS, deprecated: 10.12)
func run() { }
}