Blog

Swift Study #2 후기

July 11, 2014

author:

Swift Study #2 후기

Beta 2에서 Beta 3로 넘어오면서 바뀐 점

  • iBooks에 있는 Swift Programming Language 문서가 업데이트됨!
  • Array가 완전한 immutable이 됨. let으로 선언하면 값도 안 바뀜.
  • Array의 축약 문법은 [Type], Dictionary의 축약 문법은 [KeyType: ValueType]으로 바뀜
  • half-closed 범위 연산자가 .. 에서 ..< 으로 표현이 바뀜
  • 나머지는 Xcode 6 Beta 3 Release Notes를 확인

Collection Types

  • Typed Collections, Generic Collections
  • 삭제와 관련된 함수 (removeAtIndex, removeLast, removeValueForKey)는 모두 삭제된 값을 반환한다.
  • Array, Dictionary 관련된 함수들은 잘못된 위치, 없는 키값에 대응하기 위해 대부분 Optional로 값을 반환한다.
  • Dictionary의 키 타입은 해시값을 갖는 타입이어야 한다.

Control Flow

  • Swift는 switch에서 default: 가 반드시 있어야 한다. (모든 값이 처리돼야 한다.)
  • switch 문법은 Range Matching, Tuples, Value Bindings, Where로 더 효율적으로 사용할 수 있다.
  • switch는 기본적으로 하나의 case만 실행되며, 다음 case로 넘어가려면 fallthrough 키워드를 사용한다.

Functions

  • func functionName(parameterName: parameterType, …) -> ReturnType
  • 튜플을 사용해서 두 개 이상의 값을 반환할 수 있다.
  • 함수의 인자를 이해하기 쉽게 하도록 외부 인자 이름(External Parameter Names)를 사용할 수 있는데, 직접 명시하거나 #을 붙이거나 기본값을 명시하면 생긴다.
  • 기본값 인자나 가변 인자는 다른 인자보다 뒤에 와야 한다.
  • 인자의 값을 바꾸려면 inout 키워드를 쓰고 &를 붙여서 넘긴다.
  • 함수도 하나의 타입이다. (Function Type)
  • 함수도 다른 함수의 인자나 반환값이 될 수 있다.
  • 함수 안에 중첩 함수를 만들고 반환하여 사용할 수 있다.