我是编程新手,我正在尝试将此 if else 结构转换为 Swift 语言的 Switch 案例,非常感谢您的帮助,谢谢。
这是我的代码
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if (segue.identifier == "ShowDefinition") {
if let destinationViewController = segue.destinationViewController as? EnglishViewController {
if let definition = sender as? String {
if definition == "Abstraction" {
destinationViewController.titleMsg = "Abstraction"
destinationViewController.definitionMsg = "definition 1"
} else if definition == "Binary System" {
destinationViewController.titleMsg = "Binary System"
destinationViewController.definitionMsg = "definition 2"
} else if definition == "Computer" {
destinationViewController.titleMsg = "Computer"
destinationViewController.definitionMsg = "definition 3"
} else if definition == "Internet" {
destinationViewController.titleMsg = "Internet"
destinationViewController.definitionMsg = "definition 4"
} else if definition == "Virtual Reality" {
destinationViewController.titleMsg = "Virtual Reality"
destinationViewController.definitionMsg = "definition 5"
}
}
}
}
}
最佳答案
像这样:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if (segue.identifier == "ShowDefinition") {
if let destinationViewController = segue.destinationViewController as? EnglishViewController {
if let definition = sender as? String {
switch definition {
case "Abstraction":
destinationViewController.titleMsg = "Abstraction"
destinationViewController.definitionMsg = "definition 1"
case "Binary System":
destinationViewController.titleMsg = "Binary System"
destinationViewController.definitionMsg = "definition 2"
case "Computer":
destinationViewController.titleMsg = "Computer"
destinationViewController.definitionMsg = "definition 3"
case "Internet":
destinationViewController.titleMsg = "Internet"
destinationViewController.definitionMsg = "definition 4"
destinationViewController.titleMsg = "Abstraction"
destinationViewController.definitionMsg = "definition 1"
case "Virtual Reality":
destinationViewController.titleMsg = "Virtual Reality"
destinationViewController.definitionMsg = "definition 5"
default:
destinationViewController.titleMsg = ""
destinationViewController.definitionMsg = ""
}
}
}
}
}
检查你想用 default
值做什么,如果没有 case
匹配,将被命中。
关于ios - 快速将 if else 结构转换为 switch case,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39971530/