我有一个tableview控制器,其中包含以下示例数据:
测试1
测试2
检查数据日期的函数。 如果日期== date today => font color = green
我的问题: 昨天,数据“测试2”的字体颜色是黑色=>好 我让应用程序进入后台并再次打开它。 今天的颜色必须是绿色,但它也是黑色的。
我终止应用程序并再次打开它后,颜色变为绿色。 我在ViewillAppear中有一个TableLM.reloadData(),但我不工作。 我想,我必须在函数“applicationWillEnterForeground”
中重新加载表但appLlegate.swift中不知道TableLM 我该怎么办?
答案 0 :(得分:4)
在viewDidLoad
方法中添加此代码:
NSNotificationCenter.defaultCenter().addObserver(self, selector: "appBecomeActive", name: UIApplicationWillEnterForegroundNotification, object: nil )
之后添加此方法,当应用程序进入前台时将重新加载您的tableview:
func appBecomeActive() {
//reload your Tableview here
TableLM.reloadData()
}
答案 1 :(得分:2)
在Swift 3.1中
NotificationCenter.default.addObserver(self, selector: #selector(YourViewController.appBecomeActive), name: NSNotification.Name.UIApplicationWillEnterForeground, object: nil )
答案 2 :(得分:0)
AppDelegate有一个处理这种情况的功能。
func applicationWillEnterForeground(application: UIApplication) {
// Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background.
}
在applicationWillEnterForeground
中调用通知并重新加载tableView
。