nilを返しません:列挙は、私が遊び場(Xcodeの9.0.1)に次のコードを持って失敗し、
import MapKit
enum Test: UInt {
case first
case second
case third
}
let test = Test(rawValue: 4) as Any
print(test) // nil
let type = MKMapType(rawValue: 999)
print(type == nil) // false
print(type!.rawValue) // 999
はMKMapTypeは
enum MKMapType : UInt
として定義されますMKMapTypeの最大値が5であるため、enumの初期化子が失敗してnilを返すことが予想されます。代わりに999が返されます。ここにObjC/Swiftブリッジがないか、これがバグでしょうか?