Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 숭실대
- 애플 아카데미 후기
- swift문법
- iOS 개발 오류
- 네이버 치지직
- ObservableObject
- 제앱소
- 소프트웨어분석및설계
- Apple Developer Academy @ POSTECH
- SWIFT
- 데이터베이스 공부
- OS
- Swift 디자인패턴
- 애플 디벨로퍼 아카데미 후기
- global soop
- 데이터베이스
- apple developer academy 후기
- StateObject
- Swift 기능
- Swift 문법
- 네이버 부스트캠프
- useReducer
- sqoop
- 앱 비교 프로젝트
- react
- 애플 디벨로퍼 아카데미
- ObservedObject
- 애플 디벨로퍼 아카데미 21주차 회고
- 치지직
- 운영체제
Archives
- Today
- Total
사과하는 제라스
[Swift 문법] 멀티 트레일링 클로저(multi-trailing Closure) 본문
목차
728x90
반응형
이건 뭘까?
우리는 클로저를 매개변수로 받아오는 함수를 구현하기도 하는데...
이때, 만약 여러개의 클로저를 넣는다면 클로저를 넣는 것을 간략하게 줄여서도 쓸 수 있다.
다음 코드를 보면 바로 이해가 갈 것이다.
일단, 하나의 클로저 매개변수를 갖는 함수는 이렇다.
// 우리는 보통 이런 식으로 클로저를 함수의 매개변수로 쓴다.
func someFunction(completion: () -> Void){
print(#fileID, #function, #line, "- ")
completion()
}
// 이걸 호출 시엔 이렇게 담아주면 되는데
someFunction(completion: {
print(#fileID, #function, #line, "- hohoho 1")
})
// 이걸 줄이면 이렇게도 쓸 수 있었다.
someFunction {
print(#fileID, #function, #line, "- hohoho 2")
}
다음은 여러개의 클로저 매개변수를 갖는 함수다.
// 여러개의 클로저가 매개변수로 쓰인다면, 다음과 같이 작성할 수도 있다.
func someFunctionWithClosures(first: () -> Void,
second: (String) -> Void,
third: (Int) -> Void){
print(#fileID, #function, #line, "- ")
first()
second("호롤롤로")
third(3)
}
// 이걸 호출 시에 각각 이렇게 넣어줄 수도 있지만,
someFunctionWithClosures(first: {
print("첫번째")
}, second: {
print("두번째: \($0)")
}, third: {
print("세번째: \($0)")
})
// 이걸 trailing 즉, 연이어서 써주려면 이렇게도 쓸 수 있다. 이게 멀티 트레일링 클로저다.
someFunctionWithClosures{
print("first")
} second: { string in
print("string: \(string)")
} third: { number in
print("number: \(number)")
}
728x90
반응형
'제라스의 iOS 공부 > Swift 문법' 카테고리의 다른 글
[Swift 문법] Equatable 프로토콜 (1) | 2023.08.19 |
---|---|
[Swift 문법] 고차함수 - reduce (0) | 2023.08.19 |
[Swift 문법] Codable (0) | 2023.08.18 |
[Swift 문법] Dictionary grouping (0) | 2023.08.18 |
[Swift 문법] compactMap이란? (0) | 2023.08.18 |