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() { }
}