Zap*_*hod 2 syntax enums pattern-matching swift swift2
我想我会遇到一些非常简单的语法,但我找不到如何解决它.
首先是这里的设置,让我介绍一个带有多个相关值的漂亮枚举
enum Entity {
case City(data: CityData, position: NSRange)
case Date(date: NSDate)
case Service
}
Run Code Online (Sandbox Code Playgroud)然后,我想检查是否存在字典的领域是一个城市,如果是,则处理其数据和位置......我可以管理的唯一方法是通过一个switch!
if let city = result["ABC"] {
switch city {
case .City(data:let data, position:let position): // Do something with data and position
default: // Do nothing
}
}
Run Code Online (Sandbox Code Playgroud)我想知道if case语法是否有任何帮助......
但我找不到它(可能是疲倦,我希望...)
我正在寻找类似的东西:
if case result["ABC"] == .City(data:let data, position:let position) {
// Do something with data and position
}
Run Code Online (Sandbox Code Playgroud)
所以我肯定这很明显,但我错过了......所以,如果你能提供帮助,那就太棒了.
提前致谢.
Wal*_*pos 10
Swift词典返回可选值.所以,使用switch,你应该这样做:
switch result["ABC"] {
case let .City(data, position)?:
// Do something with data and position
default:
break
}
Run Code Online (Sandbox Code Playgroud)
使用if模式匹配:
if case let .City(data, position)? = results["ABC"] {
// Do something with data and position
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1064 次 |
| 最近记录: |