无法在Swift中同时关闭多个ViewController

时间:2018-12-19 00:30:44

标签: ios swift

我制作了4个ViewController(A,B,C,D),并希望将D和C从D退回到B。
我在D中使用了presentingViewController?.presentingViewController?.dismiss(animated: false, completion: nil),但是即使我设置了animated: false,它也似乎并没有同时消失。看起来像是先解雇D并移至C,然后解雇C并移至B。我不想在过渡期间显示C。
我该怎么解决?

流程
A-> B-> C-> D-> B(关闭D和C)

1 个答案:

答案 0 :(得分:0)

使用let test1 = NSEntityDescription.insertNewObject(forEntityName: "TestEntity", into: context) test1.setValue("a value", forKey: "attribute1") let test2 = NSEntityDescription.insertNewObject(forEntityName: "TestEntity", into: context) as! TestEntity test2.attribute1 = "a value"

示例代码:

do {
    try context.save()
    print("saved!")
} catch let error as NSError  {
    print("Could not save \(error), \(error.userInfo)")
} catch {

}

在这里,您可以从视图控制器“ D”跳转到导航堆栈中位于下方的任何其他视图控制器。

尽管可以跳转到导航堆栈中的任何viewcontroller,但从用户体验的角度来看,这可能是明智的选择。 如果我们突然跳到另一个视图控制器,基于某些操作,用户将想到一个导航工作流程(A-> B-> C-> D),这会使用户感到困惑。