2014.08.08 19:01

Swift - Data Type #Collections

Array
  • 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을 생성할 경우 이를 주의해야 한다


'Technical Stubs > Apple Swift' 카테고리의 다른 글

Swift - Function  (0) 2014.08.11
Swift - Control Flow  (0) 2014.08.11
Swift - Data Type #Collections  (0) 2014.08.08
Swift - String  (0) 2014.08.08
Swift - Operators  (0) 2014.08.08
Swift - Data Type #Tuple  (0) 2014.08.08
Trackback 0 Comment 0