Swift/Swift 기초문법
[Swift 기초문법 - 57] Tuple
힛해
2024. 8. 20. 23:52
728x90
Tuple이란?
Swit에서 튜플은 다양한 값의 묶음이다.
튜플의 구성 요소들은 서로 다른 타입이 가능하며 개수도 사용하고 싶은 만큼 사용할 수 있다.
기본 예시
import UIKit
// (키: 값, 키: 값)
var myPet : (name: String, kind: String, age: Int) = (name: "댕댕이", kind: "강아지", age: 1)
// 키 명을 생략할 수 있다.
var myCat : (String, String, age: Int) = ("개냥이", "고양이", age: 1)
myCat.age
// 인덱스로 접근
myPet.0
키 이름이 생략할 수도 있으며 키 이름이 없다면 인덱스로 접근할 수도 있다.
메소드 반환 Tuple
// 반환 타입을 튜플로 선언
func someFunction() -> (first: String, String){
return ("하하하", "호호호")
}
let result = someFunction()
result.first
// 인덱스로도 접근 가능
result.1
함수 반환타입으로써 tuple을 사용할 수 있고 접근하는 방법은 동일하다.
switch 에서의 tuple 사용
let somePoint = (x: 2, y: 1)
if case (x: 2, y:0) = somePoint {
print("케이스에 들어옴")
}
func someGuardCheck(somePoint: (x: Int, y: Int)) {
guard case (x: 2, y:0) = somePoint else {
print("x :2, y: 0 이것이 아닙니다")
return
}
print("완료")
}
someGuardCheck(somePoint: somePoint)
switch somePoint {
case (x: 0, y: 0):
print("중심")
case (_, 0):
print("x축에 있다")
case (x: 0, _):
print("y축에 있다")
case (-2...2, -2...2):
print("상자 안에 있다")
default:
print("상자 밖")
}
실행결과
정리
객체를 만들지 않고 간단하게 구현이 가능하다.
Closure에서 하나로 묶어서 사용하는데에 자주 사용된다