当我在函数中将其设置为 1 时,为什么“viewWillAppear”中的整数“int1”为零?
var int1 : Int!
override func viewWillAppear(_ animated: Bool) {
print("viewWillAppear")
if int1 != nil {
print("int1 != nil")
}
override func viewDidLoad() {
super.viewDidLoad()
print("viewDidLoad")
NotificationCenter.default.addObserver(self, selector: #selector(ViewController.willFinishLaunchingWithOptions), name: NSNotification.Name.UIApplicationDidFinishLaunching, object: nil)
}
func willFinishLaunchingWithOptions(notification: NSNotification){
print("Launching!")
self.int1 = 1
}
在控制台中打印“Launching!”。当应用程序启动时首次加载 View 时,我知道 int1 为零,但是当我转向另一个 View Controller 并返回时,我期望打印“int1!= 1”,但事实并非如此。为什么?
最佳答案
您是否尝试过在 viewWillAppear()
上设置断点来验证它是否在您期望的时间被调用,并且该值是否是您期望的值?
您正在从通知中心调用 willFinishLaunchingWithOptions
,就像 @daskblinkenlight 所说的那样?
我假设 viewWillAppear
末尾应该有另一个右大括号? "viewWillAppear"
是否按您预期打印?
关于ios - 在函数中将 Int 设置为 1 后,viewWillAppear 中的 Int 为 nil - Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41578277/