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 |
Tags
- UITextView
- 클린 코드
- map
- rxswift
- Clean Code
- 리펙터링
- 애니메이션
- swiftUI
- 스위프트
- uitableview
- RxCocoa
- Human interface guide
- Xcode
- SWIFT
- swift documentation
- HIG
- clean architecture
- ribs
- tableView
- ios
- 리팩토링
- uiscrollview
- UICollectionView
- collectionview
- 리펙토링
- Refactoring
- Protocol
- combine
- MVVM
- Observable
Archives
- Today
- Total
김종권의 iOS 앱 개발 알아가기
[iOS - swift] 기본 연산자 - zip, merge, merging 본문
zip
- array에서 사용하는 결합 연산자
- 두 원소가 항상 같이 짝짓는 연산자
var array1 = [1,2,3,4,5]
var array2 = ["a", "b", "c", "d", "e"]
zip(array1, array2)
.forEach { value1, value2 in
print(value1, value2)
}
/*
1 a
2 b
3 c
4 d
5 e
*/
- 만약 둘 중 하나가 없다면 짝짓지 못하므로 값 x
var array1 = [1,2,3,4,5]
var array2 = ["a"]
zip(array1, array2)
.forEach { value1, value2 in
print(value1, value2)
}
/*
1 a
*/
merge, merging
- dictionary에서 사용하는 병합 연산자
- merge는 인스턴스의 메소드이고, merging은 함수
- merge는 직접 인스턴스의 값에 적용시키고 merging은 결과값을 리턴하는 기능
- 클로저로 key값이 겹칠때 어떤 value를 선택할지 결정 가능
- merge
- 아래 예제에서는 2 key값이 겹치지만, value2를 선택하여 2 키 값의 결과에 "c"가 존재
var dict1 = [1 : "a", 2 : "b"]
var dict2 = [2 : "c", 3 : "d"]
dict1.merge(dict2) { _, value2 in
value2
}
print(dict1)
// [1: "a", 3: "d", 2: "c"]
- merging
- 아래 예제에서는 2 key값이 겹치지만, value1를 선택하여 2 키 값의 결과에 "b"가 존재
var dict3 = [1 : "a", 2 : "b"]
var dict4 = [2 : "c", 3 : "d"]
let newDict = dict3.merging(dict4) { value1, _ in
value1
}
print(newDict)
// [2: "b", 3: "d", 1: "a"]
* 참고
https://developer.apple.com/documentation/swift/dictionary/merge(_:uniquingkeyswith:)-7smbb
'iOS 응용 (swift)' 카테고리의 다른 글
Comments