在applicationWillEnterForeground上刷新UILabel

时间:2018-06-10 23:45:36

标签: swift appdelegate

我试图在应用程序从后台状态返回时刷新标签,但是我找不到引用该标签的方法。

但是,如果我在应用程序代表的applicationWillEnterForeground下添加label.text = titles [emotionOfTheDay],它会理所当然地告诉我它不知道我在说什么标签,因为标签在我的ViewController中。有没有办法从不同的文件中引用这个标签,或者我的方法是错误的?

感谢。

1 个答案:

答案 0 :(得分:2)

您需要实施

override func viewDidLoad() {
    NotificationCenter.default.addObserver(self, selector: #selector(willEnterForeground), name: .UIApplicationWillEnterForeground, object: nil)

}

deinit { 
    NotificationCenter.default.removeObserver(self, name: .UIApplicationWillEnterForeground, object: nil)
}

@objc fileprivate func willEnterForeground() {
    // refresh the label here 
}