我使用标签栏控制器从VC1转到VC2。这样做,VC1保留在内存中。我使用VC2管理数据,当我回到VC1(使用标签栏控制器)时,我使用viewWillAppear
中的函数重新加载VC1,它工作正常,但在重新加载动画期间,VC1的先前版本仍然可见。
我必须在动画或重新加载过程开始之前关闭VC1(从内存中)
我在VC1的viewWillAppear
和viewDidDisappear
尝试了这些命令,但没有成功。
self.dismiss(animated: true, completion: nil)
self.presentedViewController?.dismiss(animated: true, completion: nil)
我的猜测是,最好的方法是在转移到VC2时解雇VC1,但还没有找到方法。
感谢您的帮助。
答案 0 :(得分:0)
我的建议是,使用NotificationCenter.default.addObserver(forName: Notification.Name(rawValue: "updateVC1"),
object:nil, queue:nil) {
notification in
// do something
}
在VC1中添加观察者,并在发生某些事件时从VC2触发。
添加观察者。
NotificationCenter.default.post(name: Notification.Name(rawValue: "updateVC1"), object: nil)
从VC2触发观察者
NSArray *edges = fetchAllCollectionsJSONResponse[@"data"][@"shop"][@"collections"][@"edges"];
for (NSDictionary *edge in edges) {
NSString *description = edge[@"node"][@"description"];
NSLog(@"description = %@", description);
}