放开到特定的视图控制器而无需注意

问题描述

不使用情节提要板时,如何获得与解散剧集相同的功能?假设我有一个带有多个视图控制器的导航控制器,并且想平滑地退回到某个控制器。您将如何实现?

解决方法

您可以在UINavigationController上编写扩展来实现。根据您的评论,您想要设置一个标识符,然后使用该特定标识符返回。为此,您可以编写一个简单的协议:

one_hot = tf.dtypes.cast(parts[-2] == class_names,dtype = tf.int16)

所有视图控制器都应确认此协议并设置标识符值。实现UINavigationController扩展,例如:

protocol Unwindable {
    var identifier: String { get set }
}

然后您可以使用:

extension UINavigationController {

    func goBackToInstance(withIdentifier identifier: String) {
        let mapped = self.viewControllers.compactMap{ $0 as? Unwindable }
        for vc in mapped.reversed() {
            if (vc.identifier == identifier) {
                self.popToViewController(vc as! UIViewController,animated: true)
            }
        }
    }
}