seong_hye, the developer

Swift) 문법 정리 - 튜플 본문

IOS

Swift) 문법 정리 - 튜플

seong_hye 2022. 7. 12.

 

여러가지로 이루어진 연관된 데이터는 어떻게 저장할까?

튜플을 활용한다.


튜플

원하는 연관된 데이터의 조합으로 어떤 형태든 만들 수 있는 타입

(다만, 변수를 선언과 동시 해당 멤버(데이터의 종류 및 갯수)는 결정되므로 추가/ 삭제는 불가)

 

ex) 좌표 (Int, Int) / 3차원 공간( Int, Int, Int)

 

- 접근할 때는 변수명.0, 변수명.1 ==> 점을 활용하여 접근

 

이름이 매겨진 튜플

데이터의 각 요소에 이름을 붙일 수 있음

 

ex) var iOS = ("Swift", 2024)

var iOS = (language: "Swift", year: 2024)

 

- 접근할 때 iOS.language, iOS.year로 접근 가능 ==> 코드의 가독성 높아짐

 

튜플 분해

튜플의 각 요소를 각각 상수, 변수화 가능(바인딩)

데이터를 분해해서 활용할 수 있게 됨

 

ex) let (name, age, address) = ("seong_hye", 24, "부산")

 


 

튜플의 특징

- switch문과 자주 활용됨

- 각 케이스 내에서 튜플의 각 요소를 활용하려 할때 주로 사용

- 어떤 조건에 따라 튜플 케이스를 처리하려고 할떄 주로 사용

switch coordinate { 
case (let a, z) where a == z:		//조건에 따라 튜플을 처리할 때
	print("좌표는 \(x), \(y)입니다.")
case (let x, let y): 				//각 케이스 내에서 튜플 요소 활용할 떄
	print("좌표는 \(x), \(y)입니다.")
defalt:
	break
}

 

튜플을 사용하려는 이유는?

함수는 원칙적으로 리턴값이 한 개만 존재하기 때문에 여러개의 값을 반환할 수 없지만

어떤 묶음 값으로 반환하는 것은 가능

~> 튜플로 반환하는 것은 더 유용한 정보를 제공할 수 있음


참고자료)

https://zrr.kr/qNHN

 

앨런 Swift문법 마스터 스쿨 (온라인 BootCamp - 2개월과정) 강의 - 인프런

Swift문법을 제대로 이해, 활용해보고자 하는 철학을 바탕으로 과정이 설계되었습니다. 코딩에 대해 1도 모르는 비전공자를 시작으로 네카라쿠배에 입사할 수 있는 초고급 수준까지 올리는 것을

www.inflearn.com

 

Comments