Day 6

희희희·2021년 9월 5일

Creating basic closures

Swift에서는 함수를 variable로 선언할 수 있고 이를 다른 함수의 parameter로 넘겨줄 수 있음 -> closures

closure는 parameter를 brace안에 넣음.

선언할 때 변수명 뒤에 ()안써야함.

let driving = {
    print("drive")
}
driving()

Accepting parameters in a closure

closure를 생성할 때 parameter는 {}괄호 안에 쓰면 됨.

parameter선언 한 뒤 in

closure를 실행시킬 때 변수 라벨을 써주지 않아도 됨.

let driving = {(place: String) in
	print(“I’m going to \(place) in my car”)
}

driving(“London”)

Returning values from a closure

closure를 통해 value를 return하고 싶을 경우엔 in 앞에 써주면됨

let driving = { (place: String) -> String in
	return “I’m going to \(place) in my car”
}

Closures as parameters

closure는 parameter로 사용가능.
() -> Void 로 사용

let driving {
	print(“I’m driving in my car”)
}

func travel(action: () -> Void) {print(“I’m getting ready to go.”)
	action()
	print(“i arrived”)
}
travel(action: driving)

Trailing closure syntax

parameter로 closure를 받을 때 trailing closure syntax를 사용하여 위 코드를 아래처럼 표현할 수 있음

func travel(action: () -> Void) { print(“I’m getting ready to go.”)
	action()
	print(“i arrived”)
}

travel {
	print(“I’m driving in my car”)
}

HackingWithSwift_Day6

profile
iOS 어플 개발 연습

0개의 댓글