xcode – Swift使用如果在枚举导致错误不能转换为’_ArrayCastKind’

前端之家收集整理的这篇文章主要介绍了xcode – Swift使用如果在枚举导致错误不能转换为’_ArrayCastKind’前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用 xcode 6的Beta 3,而且我将一个简单的if语句对一个枚举传递给一个闭包的参数有一个问题.这里是简单的枚举定义:
enum FLSTeslaLoginStatus {
    case LoggedOut
    case LoggedIn
    case LoggingIn
    case LoginFailed(NSData!,NSHTTPURLResponse!,NSError)
}

错误代码是:

正如你可以看到switch语句工作正常,但如果检查导致错误.这只是一些测试代码,所以我通常不会有一个switch和一个if语句,但是我试图弄清楚if语句有什么问题.我以为这是一个编译器的bug.

Swift 2.0支持这一点,使用“if case”.

解决方法

Swift 2.x允许通过if case模式匹配: https://www.natashatherobot.com/swift-2-pattern-matching-with-if-case/
if case let .LoggedIn(name,password) = status  {
   print( "\(name) Logged in!" )
}
原文链接:https://www.f2er.com/iOS/337288.html

猜你在找的iOS相关文章