[英]How to dismiss a view when leaving it with tab bar controller
我使用标签栏控制器从VC1切换到VC2。 这样做,VC1保留在内存中。 我使用VC2管理数据,当我回到VC1(使用标签栏控制器)时,我使用viewWillAppear
一个函数重新加载了VC1,它可以正常工作,但是在重新加载动画时仍可以看到VC1的先前版本。
在动画或重新加载过程开始之前,我必须从内存中退出VC1。
我已经在VC1的viewWillAppear
和viewDidDisappear
中尝试了这些命令,但viewDidDisappear
成功。
self.dismiss(animated: true, completion: nil)
self.presentedViewController?.dismiss(animated: true, completion: nil)
我的猜测是,最好的方法是在转移到VC2时关闭VC1,但尚未找到解决方法。
谢谢你的帮助。
我的建议是,使用NotificationCenter
在VC1中添加观察者,并在发生某些事件时从VC2中触发。
添加观察者。
NotificationCenter.default.addObserver(forName: Notification.Name(rawValue: "updateVC1"),
object:nil, queue:nil) {
notification in
// do something
}
从VC2触发观察者
NotificationCenter.default.post(name: Notification.Name(rawValue: "updateVC1"), object: nil)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.