Swift

[Swift] defer

Sky Titan 2021. 6. 21. 20:29
728x90

defer

  • 현재 scope 내에서 사용되는 값들을 closure로 캡쳐한 뒤 현재 scope가 종료될 때 호출해서 실행하도록 하는 구문
  • 함수 내에서 thread-safe 한 작업을 한 뒤 종료 직전에 lock을 해제하는 등의 작업을 할 수 있다.
import Foundation

func printString() {
    var a = "Hello"
    defer {
        a = "World"
        print(a)
    }
    print(a)
}

printString()
/*결과 : 
Hello
World
*/
728x90