Выходные данные: «Значение индекса: 3, необработанное значение: зеленый, значение хеш-функции: 6055121617320138804»
ользую этот код на игровой площадке xcode 9.3 и xcode 10 beta 3
import Foundation
public protocol EnumCollection: Hashable {
static func cases() -> AnySequence<Self>
}
public extension EnumCollection {
public static func cases() -> AnySequence<Self> {
return AnySequence { () -> AnyIterator<Self> in
var raw = 0
return AnyIterator {
let current: Self = withUnsafePointer(to: &raw) { $0.withMemoryRebound(to: self, capacity: 1) { $0.pointee } }
guard current.hashValue == raw else {
return nil
}
raw += 1
return current
}
}
}
}
enum NumberEnum: EnumCollection{
case one, two, three, four
}
Array(NumberEnum.cases()).count
хотя оба используют Swift 4.1, они дают мне разные результаты для
наXcode 9,3 размер массива4
и наXcode 10 бета 3 размер массива0
Я вообще этого не понимаю.