2022/05/02

SwiftUI 기초2

복잡한 데이터 형


Array
[ ]
대괄호로 표시함

let john = "John Hey"
let tom = "Tom Guy"

let they = [john, tom]

they[1] // Tom Guy 어레이는 0번부터 시작

Sets

어레이와 같은 집합인데,
  1. 순서가 없다.
  2. 2번 반복되지 않는다.

let colors = Set(["white", "blue", "red", "red"]) // 이렇게 선언해도 red 는 한번만 들어간다.

Tuples

집합체인데, 아이템을 넣거나 뺄수 없다.
아이템의 타입을 변경할 수 없다.
이름이나, 위치값으로 조회할 수 있다.

var name = (first: "유럽", last: "칼새")

name.0 // "유럽"
name.last // "칼새"

어레이, 셋츠, 튜플 사용예.

주소처럼 정해진 집합체의 경우, tuples 를 사용
let address = (house: 555, street: "창업로", city: "경기도")

중복되지 않아야 하고, 아이템이 있는지 빠르게 체크할 경우 Set 사용
let sets = Set(["brown", "white", "green"])

sets.contains("brown") // true

중복이 있고, 순서가 중요한 경우 array 사용 (범용적으로 사용)
let they = ["갑순이", "갑돌이", "길동이", "길동이"]

dictionary
어레이와 유사하지만, key를 지정하여 사용

let rating = [
"슈퍼맨": 4.5,
"캡틴마블": 4.4
]

rating["슈퍼맨"] // 4.5

dictionary 의 기본값 지정 가능

let rating = [
"슈퍼맨" : 4.5,
"캡틴마블" : 4.4
]
rating["원더우먼", default: -1] // -1 default 를 지정하지 않으면 nil 반환


빈 딕셔너리 선언 방법

var teams = [String: String]()

teams["어벤저스"] = "마블"
teams["저스티스리그"] = "DC"

print(teams) // "["어벤저스": "마블", "저스티스리그": "DC"]\n"

빈 어레이 선언방법

var items = [Int]()

items = [3,1,4]
items.append(1)
items = items + [5,9,2]

print(items) // "[3, 1, 4, 1, 5, 9, 2]\n"

어레이와 딕셔너리는 대 괄호로 빈 집합체를 생성하고,
Set은 꺽은 괄호로 빈 집합체를 생성합니다.

var colors = Set<String>()

colors = ["Pink", "Pinky", "Pink"]

print(colors)

만약 가독성을 위해 꺽은 괄호로 생성하고 싶다면, 아래와 같이 합니다.

var color = Set<String>()
var colorful = Array<String>()
var colorChip = Dictionary<String, Int>()

color = ["Pink", "Pinky", "Pink"]
colorful = ["Pink", "Pinky", "Pink"]
colorChip = ["Pink":33, "Pinky":34]

Enum 형식

나만의 사용하기 편리한 방법으로 사용하고 싶을 때,
예를 들면,

enum Result {
    case Success
    case Failure
}

let ret = Result.Success

enum의 경우 결합된 값을 지정할 수 있는데, 아래와 같습니다.

enum Activity {
    case bored
    case running(destination: String)
    case talking(topic: String)
    case singing(volume: Int)
}

let tomActivity = Activity.talking(topic: "History")

enum 에 숫자를 부여하고 싶을때,

enum Planet: Int {
case mercury = 1
case venus
case earth
case mars
}

상기와 같이 하면, 순차적으로 1번부터 숫자가 부여됩니다. mars 는 4가 됩니다.

0 comments:

댓글 쓰기