검색결과 리스트
xcode7 beta2에 해당되는 글 1건
- 2015.06.24 [swift2] Xcode7 beta2 Swift 언어 변경사항
글
[swift2] Xcode7 beta2 Swift 언어 변경사항
Swift
2015. 6. 24. 21:56
Swift Language Changes
- payload를 가진 Enum case들은 함수처럼 사용될수 있습니다.
enum Either<T, U> {
case Left(T), Right(U)
}
let lefts: [Either<Int, String>] = [1, 2, 3].map(Either.Left)
let rights: [Either<Int, String>] = [“one”, “two”, “three”].map(Either.Right)
// => {{Left 1}, {Left 2}, {Left 3}}
- 구조체, enum, 프로토콜의 non-mutationg 메소드들에 부분적으로 self 파라미터가 적용됩니다.
let a: Set<Int> = [1, 2, 3]
let b: [Set<Int>] = [[1], [4]]
b.map(a.union)
// => [[1, 2, 3], [1, 2, 3, 4]]
- 정적타입 참조 또는 타입객체에 static 메소드처럼 .init를 사용하여 생성자를 초기화함수에 접근할 수 있습니다.
let x = String.init(5)
let stringType = String.self
let y = stringType.init(5)
let oneTwoThree = [1, 2, 3].map(String.init).reduce(“”, combine: +)
// => "123"
String(5) 처럼 정적타입을 사용해서 생성할때도 여전히 .init은 암묵적으로 호출됩니다. .init은 동적타입 객체를 사용할 때, 함수인자로 initializer를 참조할 때 사용됩니다.
거대한 구조체 또는 enum 타입의 코드를 생성할 때 코드 크기를 감소시키도록 개선되었습니다.
이제 Swift는 assertion이 활성화 된채 빌드됩니다. 실용적인 crash report를 생성하는데 도움이 될것입니다.
- 실행결과
'Swift' 카테고리의 다른 글
| [swift2] Swift에서 에러 처리 (Error Handling) (0) | 2015.07.10 |
|---|---|
| [swift2] 타입의 텍스트적인 표현 커스터마이징하기 (0) | 2015.07.01 |
| [swift2] Xcode7 beta2 Swift 언어 변경사항 (0) | 2015.06.24 |
| [swift] 문자열 Indexing과 Slicing (0) | 2015.06.23 |
| [swift] Map, Filter, Reduce (0) | 2015.06.22 |
| [swift2] New in Swift2.0 (0) | 2015.06.19 |