티스토리 뷰

swift

[swift] Tuple

순진이 2022. 3. 22. 17:54

Tuple. 분명히 2번이나 배운 개념인데, 3번째 배울때도 또 새롭지 모에여?

이젠 안되겠다 싶어서 정리해봅니다.

 

 

1. 튜플의 생김새

2. 튜플의 요소에 접근하기

3. 튜플 요소의 값 바꾸기

4. Named-Tuple

5. 튜플 분해하기

6. 튜플의 활용


1. 튜플의 생김새

Tuple은 아주 신기한 놈이라고 할 수 있겠어요.

여러 타입의 값들은 한 곳에 저장할 수가 있거든요.

어떻게 생겼는지 볼까요?

let model = ("iphone", 13, "GB", 15.3)

String, Int, Double을 전부 model이라는 상수에 담을수가 있어요.

 

 

그럼 model은 어떤 타입일까요?

아주 신기한 타입이져?

 


 

2. 튜플의 요소에 접근하기

그럼 각 요소들에는 어떻게 접근할 수 있을까요?

model을 쓰고 점문법을 써볼까여? 0 ~ 3으로 접근이 가능하네여? 배열과 비슷하게 접근이 가능하다는 뜻이겠져?!

정답. 인덱스로 접근할 수가 있네여.

 


 

3. 튜플 요소의 값 바꾸기

각 튜플 요소의 값은 어떻게 바꿀까요?  우선 model은 현재 상수기 때문에 값 변경이 안되구요. 값을 변경하기 위해서는 var로 바꿔줘야 합니다.

그 후에 요소의 인덱스 값에 접근하여 바꾸주면 됨!!

그리고!!! (당연하지만) model의 0번째 요소는 처음에 String("iphone")타입이었져? 그럼 이후 값을 변경할 때도 String 값만 들어갈 수 있어여!!

model.4 = 256 처럼 더 이상의 추가도 불가능합니다!

 


 

4. Named-Tuple

내가 그의 이름을 불러주었을 때, 그는 나에게로 와 꽃이 되었다,,,

튜플은 이름을 붙여줄 수도 있어요. 그걸 Named-Tuple이라고 하져.

아래처럼 말이져.

Named Tuple일 때는 name으로 접근할 수도 있고, 인덱스로 접근할 수도 있어요.

 


 

5. 튜플 분해하기

튜플은 여러 값의 집합체잖아요? 그 각각의 값을 다시 분해할 수도 있어요.

또는 한꺼번에 분해도 가넝! 아래처럼 말이져!

 


 

6. 튜플의 활용

튜플은 보통 switch문과 잘 활용해서 사용한다고 하는데요.

이렇게 사용할 수도 있구요.

 

아니면 바인딩을 해서 사용할 수도 있습니다.

1920.0을 w에, 1080을 h에 바인딩 하고, w/h의 값이 16:9인 경우에만 "16:9"를 프린트하도록 했습니다.

 

만약 그 외 경우(아래에서는 1080 * 1080일 때)에는 다른 케이스와 매칭되어 사용됩니다.

 

그리고 오늘 계산기 앱을 만들다가 만나게 된 튜플도 소개해드릴게요.

신기하게 처음에 값을 입력하지 않구요, 타입만 명시합니다. 그리고 옵셔널로 선언해요. (옵셔널 바인딩 필요)

튜플을 이렇게도 사용할 수 있는거져.

그리고 튜플에 값을 넣을 때가 신기해요. n1 = n으로 넣는 게 아니라 n1: n처럼 :를 써서 넣더라구요.

사용할 때 주의해야겠어요 🚨

 


사실 튜플을 알고는 있었거든요. 근데 강의로만 배웠던 정의와 실제로 사용되는 상황은 너무나 다르더라구요. 튜플을 이렇게도 쓸 수 있구나...! 싶으면서 너무 유용해서 꼭 정리를 해놔야겠다...! 다짐했습니다!!

까먹지 않기를 바라며!!

 

오늘도 잘못된 게 있으면 언제든 알려주십셔 슨배님덜!!

'swift' 카테고리의 다른 글

[swift] Struct vs. Class  (0) 2022.03.29
[swift] 접근제어(Access Control)  (0) 2022.03.23
[swift] 계산 속성(computed property)  (0) 2022.03.21
[swift] Singleton 알아보기  (0) 2022.03.14
[swift] Result Type 알아보기  (0) 2022.02.03
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크