SWIFT 4呈现viewcontroller

时间:2018-01-24 13:09:03

标签: ios swift tabs

我正在尝试使用主详细信息模板构建应用。 在主视图控制器中,我添加了一个名为Catalog的按钮:此按钮显示名为Catalog的标签栏控制器。

enter image description here

我没有使用Segue来显示目录,我使用下面的代码来显示标签控制器

从Master表单中我调用了Tabbar控制器:

@IBAction func Btn_Catalogue(_ sender: Any) {
   let AddCatalogueVC = self.storyboard?.instantiateViewController(withIdentifier: "CatalogueVC") as! CatalogueVC
   present(AddCatalogueVC, animated: true, completion: nil)
}
来自CategorieVC的

我使用下面的代码来显示

@IBAction func Btn_AddCategorie(_ sender: Any) {
    self.Mode = "New"
    let AddCategorieViewController = self.storyboard?.instantiateViewController(withIdentifier: "AddCategorieVC") as! AddCategorieVC
    present(AddCategorieViewController, animated: true, completion: nil)
}

我使用下面的代码来诋毁AddCategorieVC

  @IBAction func Btn_Save(_ sender: Any) 
    {
        if self.Txt_CategorieName.text  != ""{
            self.Mysave = true
            self.MyCategorieName = self.Txt_CategorieName.text!
            self.dismiss(animated: true, completion: nil)
           }
        }

我已将“保存”按钮的SEGUE展开到“类别VC”中的功能

 @IBAction func FctSaveCategories(_ sender: UIStoryboardSegue) {
  let sendervc = sender.source as! AddCategorieVC
        if self.Mode == "New" && sendervc.Mysave == true  { // Mode insert



            let MyCategories = TblCategorie(context: Mycontext)
            MyCategories.categorie_Name = sendervc.MyCategorieName
             do {
              try Mycontext.save()
    } catch {
        debugPrint ("there is an error  \(error.localizedDescription)")
    }
}
}

pb是当我点击categorieVC中的保存按钮时,catalogueVC也在同时解雇,返回主控件。

我几乎可以肯定pb来自Unwind segue,但我不知道为什么,任何人都可以帮助我。

更新:我使用以下代码激活AddCategorieVC中的取消按钮

  self.dismiss(animated: true, completion: nil)

当我点击它时,只有AddCategorieVC被贬低,我回到CatalogueVC。 保存按钮和取消按钮之间的区别仅在于保存按钮上的UNWIND segue。

当我将UnWIND segue添加到取消按钮(只是为了测试行为)时,它将我带回主表单而不是CatalogueVC

现在该如何解决?有任何想法吗?

1 个答案:

答案 0 :(得分:0)

yesss我找到了它

看起来像是放松segue自动处理dismisscontrôle

所以我需要做的就是从保存按钮中删除dismiss代码,这样unwind segue会把我带回catalogueVC。