我想使用展开segue从当前UIViewController
导航到第二个呈现UIViewController
:
let unwindDestinationViewController = self.presentingViewController!.presentingViewController!
switch unwindDestinationViewController{
case is UIViewControllerSubclass:
self.performSegue(withIdentifier: "unwindToUIViewControllerSubclass", sender: self)
break
default:
break
}
然而,这不起作用。我还尝试将case
语句更改为UIViewControllerSubclass.Type
,但它给了我一个错误:cast from UIViewController to unrelated type UIViewControllerSubclass always fails.
如果有人能告诉我自己做错了什么,我真的很感激。
答案 0 :(得分:0)
您的代码适用于检查类型:
case is UIViewControllerSubclass:
另一种测试课程的方法:
case let vc as UIViewControllerSubclass:
如果您需要访问特定于该类的方法或属性,这将非常有用。
如果您不需要使用vc
,请执行以下操作:
case _ as UIViewControllerSubclass:
您可以在此处使用if
语句:
if unwindDestinationViewController is UIViewControllerSubclass {
self.performSegue(withIdentifier: "unwindToUIViewControllerSubclass", sender: self)
}