// 파라미터, 반환형 없이도 사용이 가능하다
let voidClosure: () -> Void = {
print("iOS 개발자 짱, 클로져 사랑해")
}
voidClosure()
// Capturing Values
// 순수함수의 반대라고 생각하면 된다. 클로저에서 외부의 데이터를 capture하여 수정이 가능하다
var count = 0
let incrementer = {
count += 1
}
incrementer()
incrementer()
incrementer()
incrementer()
count // 4
Example 1: Cho Simple Closure
let choSimpleClosure = {
}
choSimpleClosure()
Example 2: 코드블록을 구현한 Closure
let choSimpleClosure = {
print("Hello, 클로져, 코로나 하이!")
}
choSimpleClosure()
Example 3: 인풋 파라미터를 받는 Closure
let choSimpleClosure: (String) -> Void = { name in
print("Hello, 클로져, 코로나 하이! 나의 이름은 \(name) 입니다!")
}
choSimpleClosure("코로나가 제일시러")
Example 4: 값을 리턴하는 Closure
let choSimpleClosure: (String) -> String = { name in
let message = "iOS 개발 만만세, \(name)님 경제적 자유를 얻으실 거에요!"
return message
}
let result = choSimpleClosure("코로나가 제일시러")
print(result)
Example 5: Closure를 파라미터로 받는 함수 구현
func someSimpleFunction(choSimpleClosure: () -> Void) {
print("함수에서 호출이 되었어요")
}
someSimpleFunction(choSimpleClosure: {
print("헬로 코로나 from closure")
})
func someSimpleFunction(choSimpleClosure: () -> Void) {
print("함수에서 호출이 되었어요")
choSimpleClosure()
}
someSimpleFunction(choSimpleClosure: {
print("헬로 코로나 from closure")
})
Example 6: Trailing Closure
func someSimpleFunction(message: String, choSimpleClosure: () -> Void) {
print("함수에서 호출이 되었어요, 메세지는 \(message)")
choSimpleClosure()
}
someSimpleFunction(message: "로나로나 메로나, 코로나 극혐", choSimpleClosure: {
print("헬로 코로나 from closure")
})
someSimpleFunction(message: "로나로나 메로나, 코로나 극혐") {
print("헬로 코로나 from closure")
}
올인원 패키지 : iOS 앱 개발👉https://bit.ly/2FjWizq
'패스트캠퍼스) ios 개발 챌린지' 카테고리의 다른 글
[패스트캠퍼스 수강 후기] IOS개발강의 100% 환급 챌린지 22회차 미션 (0) | 2020.11.23 |
---|---|
[패스트캠퍼스 수강 후기] IOS개발강의 100% 환급 챌린지 21회차 미션 (0) | 2020.11.22 |
[패스트캠퍼스 수강 후기] IOS개발강의 100% 환급 챌린지 19회차 미션 (0) | 2020.11.20 |
[패스트캠퍼스 수강 후기] IOS개발강의 100% 환급 챌린지 18회차 미션 (0) | 2020.11.19 |
[패스트캠퍼스 수강 후기] IOS개발강의 100% 환급 챌린지 17회차 미션 (0) | 2020.11.18 |