swift defer 关键字

2020-06-27  本文已影响0人  老猫_2017
  1. 使用场景?
    在函数结束之后执行,一般用于资源释放
  2. 如何使用?
func operateOnFile(descriptor: Int32) {
    let fileHandle = FileHandle(fileDescriptor: descriptor)
    defer { fileHandle.closeFile() }
    ...
}

func printStringNumbers() {
    defer { print("1") }
    defer { print("2") }
    defer { print("3") }

    print("4")
}
// Prints 4, 3, 2, 1 入栈的形式,先进后出
  1. 限制条件
枷锁的话,可能会死锁

参考:
defer-usage-swift

上一篇 下一篇

猜你喜欢

热点阅读