我有一个 Master Detail 应用程序,我在 NSUserDefaults 中存储了一个 bool 值,它控制应用程序的访问。一旦用户使用 Parse 登录,我就会更新这个值。
但是,问题是当我返回主视图 Controller 时,它不会运行我检查访问变量的 ViewDidLoad 代码并且不会更新。
有没有办法以编程方式重新加载 View Controller ,或者是否有其他解决方案?
提前致谢!
最佳答案
我只是检查 Bool 变量的值是否已更改,如果已更改,则运行 viewDidLoad()
方法。
要检查 Bool 中的值是否更改,请运行 willSet
方法:
var myBool: Bool = Bool() {
willSet {
println("the value of the variable has changed")
viewDidLoad()
}
}
我编写的这段代码会自动检查变量的值是否发生变化,如果发生变化,它将运行 willSet
方法中的代码。在这种情况下,它将再次运行 viewDidLoad() 语句并打印:“变量的值已更改”。
我假设 viewDidLoad()
在刷新时会重置内容设置并确保用户可以访问他/她需要访问的任何内容。
此外,如果您只是在重新加载 viewDidLoad()
方法时遇到问题,而不是仅仅运行 viewDidAppear
方法:
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(true)
viewDidLoad()
//OR JUST RELOAD THE CONTENT SETTINGS
}
关于ios - 登录 Parse 后如何重新加载 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31815532/