Swift 다수 데이터 처리
튜플
괄호 안에 콤마(,)를 이용하여 변수, 상수에 넣어 사용
var one = (1, "one", "일")
one.2
one.2 = "하나" // 값 설정하기
이름 설정
let two = (num : 2, eng : "two", kor : "둘")
two.num // 2
two.kor // '둘'
튜플 간 비교 가능
콜렉션 타입
배열
var intArray : [int] = [1,2,3,4,5]
let strArray = ["A", "B", "C"]
let floatArray = Array<Float>([1.1, 2.2, 3.3])
공백 배열 (타입 선언 필요)
var emptyArray = [int]()
var emptyArray2 = Array<Double>()
var emptyArray3 : [String] = []
원소 개수와 공백 확인
floatArray.count
emptyArray.isEmpty
항목 접근, 첨자 표기(subscript)
let element1 = intArray[0]
let element2 = floatArray[1]
원소 추가
var intArray : [Int] = [1, 2, 3]
intArray.append(5) // [1, 2, 3, 5]
intArray.insert(4, at: 3) // [1, 2, 3, 4, 5]
intArray += [6,7]
배열 변경
배열 항목 삭제 : remove
배열 내 원소 변경 : 첨자로 변경, 범위를 이용한 배열의 원소 변경
Swift의 배열은 밸류 타입
배열 에러
let 배열에 추가, 타입 에러, 범위 에러
딕셔너리
키-값 방식으로 다수의 값 다루기
딕셔너리 내 키는 유일
키 : 해시값을 제공할 수 있는 Hashable
객체 생성
키 : String, 밸류 : String
var dic = ["1월":"January", "2월":"February"]
키 : String, 밸류 : Int
var dic2 = [String: Int] = ["일" : 1, "이" : 2, "삼" : 3]
키 : Int, 밸류 : String
var dic3 : Dictionary<Int, String> = [1 : "One", 2 : "Two", 3 : "Three"]
빈 딕셔너리 객체 생성
var emptyDic = [Int: Int]()
원소 갯수 : count 프로퍼티
원소 접근(subscript)
원소 변경
원소 추가, 변경, 원소 삭제
* 딕셔너리도 배열처럼 밸류 타입
새로운 변수(상수) 대입 시 복사
딕셔너리 객체 간 비교 : ==
다중 구조(콜렉션을 이용한 다중 구조)
딕셔너리와 배열
let evenNums = [2,4,6]
let oddNums = [1, 3, 5, 7]
let dic : [String:[Int]] = ["even" : evenNums, "odd" : oddNums]
dic["odd"]![1]
셋
유일한 원소
원소만 저장
임의의 순서
셋 객체 생성
배열에서 생성
var beverage : Set<String> = ["Coke", "Juice", "Milk"]
공백의 셋 객체 생성
var letters = Set<Character>() // 공백의 셋 생성
원소
갯수 : count 프로퍼티
빈 셋 확인 : isEmpty
원소 포함 확인 : contains(_:)
원소 접근
Index 이용하기
첫 번째 원소 접근 : first
배열 객체 생성 후 접근
원소 수정
추가 : insert(_:)
삭제 : remove(_:)
동일 원소 추가 : 기존 객체 덮어쓰기
셋 연산
교집합 : intersection
합집합 : union
대칭차집합, 차집합
출처 : t academy swift 강좌