-
Swift - Data Type #Collections기술 관련/Apple Swift 2014. 8. 8. 19:01Array
- Array에 대한 타입은 Array<SomeType> 형태로 선언한다
- 그러나 간략하게 [SomeType] 형태로 쓸 수 있다
- 문자열에 대한 Array
- var list: [String] = ["A", "B", "C"]
- 당연한 이야기지만 let을 이용하는 경우 상수가 되며 편집 불가 (immutable) 상태가 된다
- 같은 Type의 Array는 서로 병합이 가능하다
- list += ["d", "e"] + ["f"]
Array 초기화- Array를 생성 시 Type 정보화 함께 초기화를 할 수 있다
- var someInts = [Int]()
- 이렇게 선언할 경우 item count가 0인 정수형 Array가 생성된다
- 동일한 형태로 다음과 같이 선언 할 수도 있다
- var someInts:[Int] = []
- Array 타입은 특정 크기와 값으로 초기화 하는 기능도 제공한다
- var threes = [Int](count:3, repeatedValue: 1)
- 이럴 경우 1로 3개의 item을 가진 정수형 Array가 생성된다
Dictionary- Dictionary에 대한 타입은 Dictionary<KeyType, ValueType> 형태로 선언한다
- 그러나 간략하게는 [KeyType: ValueType]으로 쓸 수 있다
- var dict:[String: String] = ["ICN":"Incheon Airport", "LAX":"Los Angeles"]
- var airports = ["ICN":"Incheon Airport", "LAX":"Los Angeles"]
Dictionary를 이용한 반복문- Dictionary는 Array와 같이 for-in 문과 같이 사용 할 수 있고 각 Item에 대해 (key, value) 형태를 쓸 수 있다.
- for (code, name) in airports {
- println("\(code):\(name)")
- }
- key 또는 value만 둘 중 하나만 사용한다면 Underscore ('_') 를 정의해서 사용 할 수도 있으며
- for (code, _) in airports {
- }
- keys, values와 같이 별도 property를 이용할 수도 있다.
- for code in airports.keys
- for name in airports.values
Dictionary 초기화- Dictionary를 생성 시 타입 정보와 함께 생성 할 수 있다
- var namesOfInts = [Int: String]()
- 생성된 dictionary를 모두 없애는 경우 다음과 같이 표현할 수 있다
- namesOfInts = [:]
- Dictionary의 KeyType으로 사용되려면 해당 타입은 Hashable 프로토콜을 따라야 한다
- 참고로, Swift에서 제공하는 모든 기본 타입 (String, Int, Double 등)은 모두 Hashable 이다.
- Hashable은 hasValue property를 가지고 있으니 custom type을 생성할 경우 이를 주의해야 한다
'기술 관련 > Apple Swift' 카테고리의 다른 글
Swift - Function (0) 2014.08.11 Swift - Control Flow (0) 2014.08.11 Swift - String (0) 2014.08.08 Swift - Operators (0) 2014.08.08 Swift - Data Type #Tuple (0) 2014.08.08