본문 바로가기
iOS/Swift

[iOS/Swift] 지정되지 않은 데이터의 나열, Tuple

by iosdevlime 2022. 11. 5.

앞서 살펴본 컬렉션 타입 (Collection Type)의 주요 특징 중 하나로,

요소(초기값)은 항상 '동일한 타입(Basic Type)'을 가져야 한다는 특징이 있습니다.

 

 

반면에, 

 

정수형도 담고, 문자열도 담고..

마음대로 자료형을 섞어서 나타낼 수 있는 형태의 타입도 존재합니다.

 

이번 포스팅 내용은,

'지정되지 않은 데이터의 묶음', 튜플 (Tuple) 입니다.

 

 


 

 

Tuple (튜플)

 원하는 타입(유형)의 값의 나열, 지정되지 않은 데이터의 묶음

 

  • 지정되어 있지 않은 데이터?
    • 3개의 컬렉션 타입이 '하나의 타입(String, Int 등)'으로 지정되어 있다면,
    • 튜플의 경우, 자료형을 섞어서 나타낼 수 있는 형태를 가집니다.


 

 

생성과정

  • 기본형태
    • 기존 변수&상수 선언문 타입 자리에 👉🏻 (Type1, Type2, •••) 형태로 작성합니다.
// var&let name : (Type1, Type2, •••) = (Value1, Value2, •••)

var profile : (String, Int, Int) = ("LIME", 30, 170.5)
              
⬇︎
// 해당 Tuple의 타입은?  ➟ Type(String, Int, Int)

 

 

  • 단축형태
    • 튜플(Tuple) 또한, 타입추론이 가능합니다!
 // var&let name = (Value1, Value2, •••)
  
var profile = ("LIME", 30, 170.5) // Tuple 선언 끝!

 

 

 

활용방법 및 예시

  • Index (요소접근)
    • Array와 동일하게, Tuple 또한 Index를 사용할 수 있습니다.
    • 이를 활용하기 위해, .(dot) 문법을 활용합니다.
      (튜플의 첫번째 요소 또한 [0]부터 시작됩니다)
// Index를 활용하여 요소값 접근하기
  
var someTuple = ("velog", 5, true)

someTuple.0  // "velog"
someTuple.2  // true ➟ Boolean 타입
         
// Index를 활용하여 값 수정하기
   
someTuple.2 = false 
someTuple  // ("velog", 5, false)  ➟ true가 false로 변경

 

 

  • Named Tuple
    • 요소에 접근하는 방식 중, Index 이외 값의 Key를 명명할 수 있습니다.
    • 마치 'Dictionary'의 Key : Value와 같은 형태입니다.
// Named Tuple. Value에 다른 방식으로 접근하기
   
var someTuple1 = ("velog", 5, true)


⬇︎ 의미없이 나열된 해당 값이 무엇인지 모르니, 'Name'(key) 값을 부여      
var someTuple1 = (platform : "velog", posting : 5, writing : true)
         
// Value값에 접근하기 (.dot 문법)
         
someTuple1.platform // "velog"
someTuple1.writing // true

 

 

 

 

댓글