gpt4 book ai didi

ios - 在函数中将 Int 设置为 1 后,viewWillAppear 中的 Int 为 nil - Swift

转载 作者:行者123 更新时间:2023-11-30 12:46:28 27 4
gpt4 key购买 nike

当我在函数中将其设置为 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com