2016년 11월 4일 금요일

Swift 3.1에 추가될 사항 살펴보기

## 0045 Add prefix(while:) and drop(while:) to the stdlib

https://github.com/apple/swift-evolution/blob/master/proposals/0045-scan-takewhile-dropwhile.md

Collection과 LazySequenceProtocol과 LazyCollectionProtocol에 새로운 2개의 함수 prefix와 drop을 추가한다.

## 0141 Availability by Swift version

https://github.com/apple/swift-evolution/blob/master/proposals/0141-available-by-swift-version.md

@available(...) attribute에 swift version을 추가한다.
기존에 platform이나 os version으로 사용하던 것과 같이 사용하면 된다.


@available(swift, obsoleted: 3.1)
class Foo {
  //...
}

하지만, 아래와 같이 platform availability abbreviation list에 swift를 추가하는 것은 허락하지 않는다.

  • @available(swift 3, *)
  • @available(swift 3, iOS 10, *)

## 0145 - Package Manager Version Pinning

## 0082 - Package Manager Editable Packages

## 0080 - Failable Numeric Conversion Initialisers

새로운 종류의 conversion initialiser를 더한다.
//  Conversions from all integer types.
init?(exactly value: Int8)
init?(exactly value: Int16)
init?(exactly value: Int32)
init?(exactly value: Int64)
init?(exactly value: Int)
init?(exactly value: UInt8)
init?(exactly value: UInt16)
init?(exactly value: UInt32)
init?(exactly value: UInt64)
init?(exactly value: UInt)

//  Conversions from all floating-point types.
init?(exactly value: Float)
init?(exactly value: Double)
#if arch(i386) || arch(x86_64)
init?(exactly value: Float80)
#endif

## 0147 - Move UnsafeMutablePointer.initialize(from:) to UnsafeMutableBufferPointer

UnsafeMutablePointer.initialize(from:)는 deprecated 시키고 UnsafeMutableBufferPointer를 사용한다.
UnsafeMutableRawPointer.initializeMemory(as:from:)는 deprecated 시키고 UnsafeMutableRawBufferPointer.initialize(as:from:)를 사용한다.

기존에 Collection을 취하던 것이 Sequence를 취하는 것으로 변경된다.

Array와 ArraySlice와 ContiguousArray에서의 +=와 append<C : Collection>(contentsOf newElements: C)는 더이상 필요없기 때문에 삭제된다(다른 방식으로 효율적으로 구현할 수 있게 된다.).

## 0151 - Package Manager Swift Language Compatibility Version

## 0152 - Package Manager Tools Version


댓글 없음:

댓글 쓰기

Building asynchronous views in SwiftUI 정리

Handling loading states within SwiftUI views self loading views View model 사용하기 Combine을 사용한 AnyPublisher Making SwiftUI views refreshable r...