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
- Apple
- Archive
- FLUTTER
- appstore
- stack
- window
- darkmode
- Firebase
- IOS
- Swift
- UIButton
- error
- MacOS
- Realm
- JPA
- 웹뷰
- SwiftUI
- geofencing
- Session
- rxswift
- github
- Notification
- Code
- Xcode
- iOS16
- 개발자
- 한글
- mac
- Git
- view
Archives
- Today
- Total
EEYatHo 앱 깎는 이야기
Swift ) Closure(클로저) 축약 문법 - EEYatHo iOS 본문
반응형
1. Closure란?
호출(실행) 가능한 코드 블록.
클로저 안에서, 클로저가 작성된 범위의 변수나 함수들 접근 가능.
다른 범위에서 실행되어도, 작성된 범위의 항목만 접근 가능.
2. map 메소드로 축약문법 알아보기
map은 배열의 모든 원소에 특정 연산을 수행한 배열을 반환.
var numbers = [20, 19, 7, 12]
numbers.map({ (number: Int) -> Int in
return 3 * number
})
// [60, 57, 21, 36]
2-1. return 생략
명령어가 하나뿐인 클로저라면, 자동으로 그 명령어의 반환값을 리턴함.
var numbers = [20, 19, 7, 12]
numbers.map({ (number: Int) -> Int in
3 * number
})
// [60, 57, 21, 36]
2-2. 매개변수 타입 및 반환 타입 생략
컴파일러가 추론 가능할 경우, 생략가능
var numbers = [20, 19, 7, 12]
numbers.map({ number in
3 * number
})
// [60, 57, 21, 36]
2-3. 매개변수 이름 생략
$0, $1 순으로 매개변수를 참조할 수 있음. -> 매개변수 이름 명시 불필요
var numbers = [20, 19, 7, 12]
numbers.map({
3 * $0
})
// [60, 57, 21, 36]
2-4. 후행클로저
후행클로저( 매개변수로 마지막에 있는 클로저 )인 경우, 소괄호 밖으로 꺼낼 수 있음.
var numbers = [20, 19, 7, 12]
numbers.map() {
3 * $0
}
// [60, 57, 21, 36]
2-5. 인자가 클로저뿐인 경우, 소괄호를 아에 생략 가능
var numbers = [20, 19, 7, 12]
numbers.map {
3 * $0
}
// [60, 57, 21, 36]
+ 줄바꿈까지 없애면, 깔끔
var numbers = [20, 19, 7, 12]
numbers.map { 3 * $0 }
// [60, 57, 21, 36]
'iOS, Swift > Swift Theory' 카테고리의 다른 글
Swift) ColorSpace, display P3, sRGB - EEYatHo iOS (0) | 2022.01.25 |
---|---|
Swift ) Protocol ( 프로토콜 ) - EEYatHo iOS (0) | 2021.07.22 |
Swift ) Layout, Constraint, AutoLayout 변천사 (2) - EEYatHo iOS (0) | 2021.02.25 |
Swift ) Layout, Constraint, AutoLayout 변천사 - EEYatHo iOS (0) | 2021.02.25 |
Swift ) Swift에서의 라이브러리(정적, 공유, 동적)와 프레임워크 - EEYatHo iOS (0) | 2021.02.16 |
Comments