Ios 在switch case语句中获取segue.destination作为视图控制器
是否可以编写以下switch语句,使“let dentViewController”部分出现在“switch segue.destination”或“case Is damage typedentViewController:”行上 (我觉得我对“case is”和“let dentViewController=segue.destination as”做了双重工作) 是的Ios 在switch case语句中获取segue.destination作为视图控制器,ios,swift,Ios,Swift,是否可以编写以下switch语句,使“let dentViewController”部分出现在“switch segue.destination”或“case Is damage typedentViewController:”行上 (我觉得我对“case is”和“let dentViewController=segue.destination as”做了双重工作) 是的 override func prepare(for segue: UIStoryboardSegue, sender: A
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
switch segue.destination {
case let dentViewController as DamageTypeDentViewController:
dentViewController.doSomething()
default:
return
}
}
如果只有一个病例需要检查,你可以写
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if case let dentViewController as DamageTypeDentViewController = segue.destination {
dentViewController.doSomething()
}
}
甚至更简单
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let dentViewController = segue.destination as? DamageTypeDentViewController {
dentViewController.doSomething()
}
}
您可以将(segue.destination作为?损坏类型dentViewController)?.doSomething()写入
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let dentViewController = segue.destination as? DamageTypeDentViewController {
dentViewController.doSomething()
}
}