Π’Ρ‹ΠΏΡƒΡ‰Π΅Π½ Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ 2.0.0. πŸš€

Он ΡƒΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Swift 3.0. 😳

Π—Π°Ρ‚Π΅ΠΌ я ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π» Swift 3.0 Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅! πŸ’ͺ Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ со Swift 2.2 ΠΈ 3.0. πŸ‘»

ΠšΡΡ‚Π°Ρ‚ΠΈ, я Π½Π΅ Π³ΡƒΠ³Π»ΡŽ. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ, Ссли Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ ошибки, поТалуйста, Π½Π΅ ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΈΡ… ΠΈΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ. πŸ™

ΠžΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰Π°Ρ обстановка

  • OS X 10.11.4
  • Xcode 7.3 ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ (для Swift 2.2)
  • Swift DEVELOPMENT-SNAPSHOT-2016–03–24-a (для Swift 3.0)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ SE-0006:

ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ API ΠΊ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅

  • ErrorType πŸ‘‰ ErrorProtocol
#if swift(>=3.0)
    public typealias PancakeErrorType = ErrorProtocol
#else
    public typealias PancakeErrorType = ErrorType
#endif
  • Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ πŸ‘‰ Π˜Ρ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ / Π’ΠΈΠΏ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ πŸ‘‰ ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ
#if swift(>=3.0)
    func pancake<C: Collection where C.Iterator.Element == String>
#else
    func pancake<C: CollectionType where C.Generator.Element == String>
#endif
  • init (количСство: Int, RepeatValue: Element) πŸ‘‰ init (ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠ΅: Element, count: Int)
#if swift(>=3.0)
    let sweets = repeatElement(pancake, count: 500)
#else
    let sweets = Array(count: 500, repeatedValue: pancake)
#endif

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ SE-0011:

Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово typealias Π½Π° ассоциированный Ρ‚ΠΈΠΏ для объявлСний связанных Ρ‚ΠΈΠΏΠΎΠ²

  • typealias πŸ‘‰ ассоциированный Ρ‚ΠΈΠΏ
typealias PancakeType = Self

πŸ‘‰ associatedtype PancakeType = Self

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ SE-0040:

Π—Π°ΠΌΠ΅Π½Π° Π·Π½Π°ΠΊΠΎΠ² равСнства двоСточиями Π² Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ²

  • = πŸ‘‰ :
#if swift(>=3.0)
    @available(*, deprecated, message:”…”)
#else
    @available(*, deprecated, message=”…”)
#endif

XCTest

#if swift(>=3.0)
    measure({ 
        …
    })
#else
    measureBlock {
        …
    }
#endif

Бсылка