Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何使用popToViewController_Ios_Swift - Fatal编程技术网

Ios 如何使用popToViewController

Ios 如何使用popToViewController,ios,swift,Ios,Swift,我试图导航到另一个ViewController,但它没有通过segue连接,因此我对导航栏进行了编程,当y按下名为“重新启动”的按钮时,我请求的ViewController出现,但出现以下错误: “无法转换MemeEditorViewController类型的值。类型yo应为参数类型UIViewController” 所以我不知道该怎么处理。这是我的密码,也许你能帮我更好 override func viewDidLoad() { super.viewDidLoad()

我试图导航到另一个ViewController,但它没有通过segue连接,因此我对导航栏进行了编程,当y按下名为“重新启动”的按钮时,我请求的ViewController出现,但出现以下错误:

“无法转换MemeEditorViewController类型的值。类型yo应为参数类型UIViewController”

所以我不知道该怎么处理。这是我的密码,也许你能帮我更好

override func viewDidLoad() {
        super.viewDidLoad()
        self.navigationItem.rightBarButtonItem = UIBarButtonItem(title:"Start Over", style: .Plain, target: self, action: "startOver")
    }
    func startOver(){
        if let navigationController = self.navigationController {
            navigationController.popToViewController(MemeEditorViewController, animated: true)
        }
    }
}

如果只有一个
viewcontroller
类型为
MemeEditorViewController
的控制器,则可以通过以下方式找到该控制器并将其弹出:

let  vc =  self.navigationController?.viewControllers.filter({$0 is MemeEditorViewController}).first

self.navigationController?.popToViewController(vc!, animated: true)
或者您需要知道vc在堆栈中的位置,然后找到它:

let  vc =  self.navigationController?.viewControllers[1]
注意:按下
viewcontroller
时,
navgationcontroller
将其存储在数组
viewcontrollers
中,并带有强引用。您可以找到已推入的
viewcontroller
实例


希望有帮助:D

PopViewController不是按视图控制器,它的功能与按下按钮类似,然后从VC1导航到VC2,在VC2上有一个名为B的按钮。现在,当您按下B键并使用PopToViewController时,它将导航到VC1。。因此,它不会推动其流行(BackToPrevious)ViwController。(这里是VC->ViewController)你到底需要从A-B推什么,或者想要从B-A弹出什么?太好了…你救了我一天,先生:-)这应该被标记为答案