我正在尝试使用主详细信息模板构建应用。 在主视图控制器中,我添加了一个名为Catalog的按钮:此按钮显示名为Catalog的标签栏控制器。
我没有使用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
现在该如何解决?有任何想法吗?答案 0 :(得分:0)
yesss我找到了它
看起来像是放松segue自动处理dismisscontrôle
所以我需要做的就是从保存按钮中删除dismiss代码,这样unwind segue会把我带回catalogueVC。