
이 글은 제가 앨런의 Swift 문법 강의를 듣고 작성한 글입니다!
1. 튜플이란?
튜플은 나의 임의의 연관된 데이터의 조합으로 어떤 형태든 만들 수 있는 타입이라고 할 수 있다!
또한, 변수를 선언과 동시에 해당 멤버는 결정되므로 추가/삭제는 불가능하다.
// 튜플 기본 사용
let twoNumbers: (Int, Int) = (1, 2)
// var로 선언시 반드시 같은 형태로!
var threeValues = ("홍길동", 20, "서울")
threeValues = ("김둘리", 24, "수원")
2. 튜플 기본
1) 데이터 접근
var threeValues = ("홍길동", 20, "서울")
threeValues.0 // 홍길동
threeValues.2 // 서울
튜플의 데이터를 사용하려면 .으로 접근이 가능하다.
2) 네임드 튜플(Named Tuple)
var threeValues = (Name: "홍길동", Age: 20, Region: "서울")
threeValues.Name // 홍길동
각 튜플의 데이터에 이름을 붙여줄 수 있으며 사용시에 코드의 가독성을 높혀주고 접근시 용이하다는 장점이 있다.
3) 튜플의 분해
let (first, second, third) = (1, 2, 3)
튜플의 분해를 사용하면 각 요소를 각각 바인딩이 가능하다.
3. 튜플의 활용
1) 튜플과 if, switch
let iOS = (language: "Swift", version: "5")
if iOS == ("Swift", "5") {
print("스위프트 버전 5 입니다")
}
switch iOS {
case ("Swift", "5"):
print("스위프트 버전 5 입니다")
default:
break
}
튜플 내의 두 가지 요소가 모두 일치해야 해당 구문들을 실행한다.
2) 바인딩을 응용한 switch문
var coorinate = (9, 0)
switch coorinate {
// 형태가 (let distance, 0)와 같기 때문에
case (let distance, 0), (0, let distance):
print("X축 또는 Y축 위에 위치하며, \(distance)만큼의 거리가 떨어져있음")
default:
print("축 위에 있지 않음")
}
// X축 또는 Y축 위에 위치하며, 9만큼의 거리가 떨어져있음
바인딩을 활용하여 switch문 내에서 해당하는 형태로 사용할 수 있다.
'iOS > Swift' 카테고리의 다른 글
| [Swift] @Published 뷰모델을 Combine Subject로 바꿔보자 (0) | 2025.06.23 |
|---|---|
| [Swift] SwiftData Concurrency 사용하기 (6) | 2025.06.20 |
| [Swift] 스위프트 기본문법#3 - 제어문 (0) | 2023.02.14 |
| [Swift] 스위프트 기본문법#2 - 문자열과 문자 (0) | 2022.10.25 |
| [Swift] 스위프트 기본문법#1 - 기본 연산자 (0) | 2022.10.24 |
댓글