我试图在应用程序从后台状态返回时刷新标签,但是我找不到引用该标签的方法。
但是,如果我在应用程序代表的applicationWillEnterForeground下添加label.text = titles [emotionOfTheDay],它会理所当然地告诉我它不知道我在说什么标签,因为标签在我的ViewController中。有没有办法从不同的文件中引用这个标签,或者我的方法是错误的?
感谢。
答案 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
}