iOS Swift - Tuple

longlivedrgn·2022년 8월 6일
0

swift문법

목록 보기
9/36
post-thumbnail

Unnamed Tuple

let i = (12, 34)

let data = ("<html>", 200,"ok",12.34)
  • Explicit Member Expression
// "<html>"
data.0
// 200
data.1
// "ok"
data.2
// 12.34
data.3
  • var를 통하여 가변 튜플로 설정이 가능 -> 튜플의 값을 변경할 수 있다.
var mutableTuple = data

mutableTuple.1 = 404
// 404
mutableTuple.1

Named Tuples

  • unnamed tuple
let data = ("<html>", 200, "ok", 12.34)

// "<html>",
data.0
  • named tuple
let named = (body: "<html>", statusCode: 200, statusMessage: "OK", dataSize: 12.34)

// 200
named.1

// 200
named.statusCode

Tuple Decomposition

  • 기본적으로 각각의 튜플 값을 특정 값에 저장하기 위해서는 아래와 같은 코드를 통하여 하였다.
let data = ("<html>", 200, "ok",12.34)

let body = data.0
let code = data.1
let message = data.2
let size = data.3

그러나, 아래와 같이 한번에 튜플 값을 특정 상수에 저장할 수 있다.

// 튜플에 있는 값을 특정 상수나 변수에 저장하기
let (body, code, message, size)  = data

Tuple Matching

  • 아래와 같은 튜플을 사용한 Matching 표현 법이 있다는 것을 익히자!
let resolution = (3840.0, 2160.0)

// print -> 4k
if resolution.0 == 3840 && resolution.1 == 2160{
    print("4k")
}
  • switch 문을 사용해서도 가능하다.
switch resolution {
case (3840, 2160):
    print("4k")
default:
    break
}
  • 케이스를 더 추가해 보자.
switch resolution {
case let(w,h) where w / h == 16.0 / 9.0:
    print("16:9")
case (_, 1080):
    print("1080p")
case (3840...4096, 2160):
    print("4k")
default:
    break
}

0개의 댓글