반응형

Swift 의 기본적인 데이터 타입을 공부하고 나서 컬렉션 타입(Collection Type)에 대해 공부하려고 했으나

그 전에 Swift 에는 튜플(Tuple) 이라는 개념이 있어 먼저 공부해 보았다.

처음 접해보는 개념이라 Swift 만의 특징인가 했더니 그런건 아니고 파이썬 이라는 프로그래밍 언어에도 존재하는 것이고,

이미 있는 개념을 Swift 에 적용시킨 것이다. 

 위키백과에서 튜플을 검색해 보니 튜플(Tuple) 이란 유한 개의 사물의 순서있는 열거이다 라고 나온다. 

얼핏보면 배열(Array) 과 똑같은게 아닌가 싶지만 배열은 같은 타입의 데이터들을 한 곳에 담아 편리하게 이용하려고 사용하는 것이고, 튜플은 타입이 같을 필요가 없어서 배열과 비슷하지만 다른 개념이다.

비교하자면 구조체(Structure) 나 클래스(Class) 에a\서 변수만 담아서 사용하는거에 더 가깝다고 볼 수 있겠다 :)



튜플(Tuple) 이란?


 Swift 에서 튜플이란 다양한 값(데이터)들의 묶음 이라 할 수있다. 

튜플의 구성 요소들은 서로 같은 타입일 필요가 없다. 같은 타입을 여러개 사용해도 상관없고, 각각 다른 타입을 사용해도 상관없다는 의미이다. 또한 튜플 안에 들어갈 수 있는 값들의 개수도 사용하고 싶은 만큼 사용이 가능하다.




튜플 사용법


1.기본 사용법 :


  Swift 에서 튜플을 사용하고 싶으면 변수나 상수를 선언한 뒤 원하는 데이터 값들을 ( ) 에 묶어서 넣어 주면 된다.

 [ var 변수명 : (데이터 타입1, 데이터 타입2, 데이터 타입3) = ( 값1 , 값2 , 값3) ] 의 형태이다. 

튜플에서도 Swfit의 타입 추론이 적용되기 때문에 데이터 타입을 생략하여 [ var 변수명 = ( 값1 , 값2 , 값3) ] 처럼 

사용 하더라도 상관없다. 



그림 1 > 튜플의 기본적인 사용법



2. 튜플의 값들을 변수나 상수에 넣어주기 : 


 튜플의 값들을 변수나 상수에 넣어주는 방법도 있다. 변수나 상수도 ( ) 로 묶어서 선언한 뒤 튜플을 넣어주면 되는데 

여기서 주의할 점은 튜플의 구성요소 개수 만큼 변수나 상수도 똑같이 선언해줘야 한다는 것이다.



그림 2 > 튜플의 값들을 각 변수에 넣는 예제




3. 튜플의 값들 호출하기 : 


 튜플의 값들은 배열(Array) 와 마찬가지로 순서대로 0 부터 개수만큼 인덱스가 부여 되기 때문에 인덱스를 사용하여 원하는 값을 가져 올 수 있다. 하지만 인덱스를 사용하는 경우 자기가 어떤 데이터를 호출 하는지 구분하기 어렵다. 

이럴 때에는 튜플의 각  값 마다 이름을 붙여서 사용하면 된다. 타입을 생략하지 않고 굳이 써주는 것과 마찬가지로 튜플을 사용할거면 각 타입의 이름을 지정해서 사용하는게 좋을 것 같다.




그림 3 > 튜플의 각 값들을 인덱스를 통해 호출할 수 있다.






그림 4 > 튜플의 각 타입에 이름을 붙여서 해당 이름을 통해 값을 호출 할 수 있다.

  



 


 




* 해당 포스팅은 스위프트(Swift)4  버전을 기준으로 하고 있습니다.

* 참고 : https://swift.org/ 


 

 

반응형

+ Recent posts