-
[Swift] defer 란?Swift 2023. 1. 3. 22:39
함수가 종료되기 전에 실행하는 녀석
예를 들면 👇👇
func someFunc() { print("1") defer { print("defer") } print("2") } someFunc() // Output 1 2 defer
그리고 defer 를 여러개 사용할수도 있다 👇👇
그런데 stack 이라서 먼저 읽혀진 defer 의 실행문은 제일 늦게 출력된다. (Last In First Out)
func someFunc() { print("1") defer { print("defer 1") } defer { print("defer 2") } defer { print("defer 3") } print("2") } someFunc() // Output 1 2 defer 3 defer 2 defer 1
그리고 return 이전에 위치해있어야 한다 👇👇
func someFunc() { print("1") return defer { print("defer 1") } defer { print("defer 2") } defer { print("defer 3") } print("2") } someFunc() // Output 1
'Swift' 카테고리의 다른 글
[Swift] Stack 구현하기 (0) 2023.01.04 [Swift] struct 의 mutating func (0) 2023.01.03 [Playground] Playground 에서 async 사용하는 방법 (0) 2023.01.03 [Swift] NSCountedSet - 리스트에서 중복된 요소의 갯수를 구해보자 (0) 2022.12.31 [Swift] 이중 클로저 (Nested Closure) 안에서 이중으로 [weak self] 해줘야 할까? (0) 2022.12.04