我写了一个应用程序,当默认设置发生变化时,我需要重新加载所有设置。
但我没有线索。我尝试重新启动或重新加载第一个视图控制器,但它无法正常工作。我的问题是在所有视图控制器中我从核心数据中获取并从中加载标签但是我必须关闭应用程序并重新启动它以查看更改。
任何想法如何实现这一目标?
答案 0 :(得分:3)
您的核心问题是在更改设置后重新加载数据。实现这一目的的方法有很多种。一个是使用KVO来观察您想要更改的所有UI元素的设置。
还有另一种方法可以让您不需要重新启动应用程序。
因为在viewControllers'init
方法之后使用了所有数据。而不是重新加载第一个viewController,更新应用程序的rootViewController
并进行设置。
更改设置后。
if let tabBarController = UIApplication.sharedApplication().keyWindow?.rootViewController as? UITabBarViewController {
let naviController1 = UINavigationController(rootViewController: HomeViewController())
let naviController2 = UINavigationController(rootViewController: AccountViewController())
tabBarController.viewControllers = [naviController1, naviController2]
}
OR
UIApplication.sharedApplication().keyWindow?.rootViewController = YOURTabBarController()