我正在尝试找出当应用程序进入前台时更新视图的最佳方法。最初,我以为viewWillAppear
可以解决问题,但看来我是错误的。
我从其他帖子中了解到正确的方法是使用通知中心:
NotificationCenter.default.addObserver(self, selector: #selector(willEnterForeground), name: UIApplication.willEnterForegroundNotification, object: nil)`
到目前为止一切都很好;这可以让我确定正确的时间。但是,可能我可能在堆栈中有几个视图,并且我不希望发生大量更新,除非该视图实际上是可见的。
我认为以下代码将允许我执行以下操作:
@objc func willEnterForeground() {
if(self.isBeingPresented) {
updateView()
}
}
但是不幸的是,当视图从后台还原时,isBeingPresented始终为false。
有人告诉我们最好的方法来判断当前视图是否是堆栈中的“顶”视图吗?