除了普通的代码注释外,编译器通常也会提供一些辅助开发的注释,例如TODO
,FIXME
,ERROR
之类的注释,这些注释可以被编译器识别到,并提供一些友好提示,我们应该多利用这些编译器的特性来辅助我们日常的开发
TODO
1 2 3 4
| func takePicture() -> Bool { return true }
|
FIXME
1 2 3 4
| func increment(_ num: Int) -> Int { return num }
|
warning
通过warning提示警告⚠️,可以编译通过
1 2 3 4 5
| func increment(_ num: Int) -> Int { #warning("Incorrect result returned") return num }
|
error
error
警告会编译不通过
1 2 3 4 5 6 7
| func readArr(_ arr: [Int]) { for i in 0…arr.count { if i == arr.count { #error(“err”) } } }
|
模拟器
在模拟器调试的特殊代码,相当于宏隔离,模拟器的代码不会编译到真机
1 2 3 4 5 6 7 8
| @discardableResult func takePicture() -> Bool { #if targetEnvironment(simulator) return false #else return true #endif }
|