Ios 在函数-Swift中将Int设置为1后,视图中将显示Int为nil
当我在函数中将整数“int1”设置为1时,为什么在“viewwillrespect”中整数“int1”为nilIos 在函数-Swift中将Int设置为1后,视图中将显示Int为nil,ios,swift,int,Ios,Swift,Int,当我在函数中将整数“int1”设置为1时,为什么在“viewwillrespect”中整数“int1”为nil var int1 : Int! override func viewWillAppear(_ animated: Bool) { print("viewWillAppear") if int1 != nil { print("int1 != nil") } override func viewDidLoad() { super.v
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
}
在控制台中,打印“启动!”。当应用程序启动时首次加载视图时,我知道int1为零,但当我切换到另一个视图控制器并返回时,我希望打印“int1!=1”,但它没有。为什么? 您是否已尝试在
viewwillappease()
上设置断点,以验证是否在您希望调用它时正在调用它,以及该值是否与您期望的值相同
您正在通知中心呼叫willFinishLaunchingWithOptions
,就像@daskblinkenlight所说的那样
我假设在
视图的末尾会出现另一个紧密的大括号?“viewwillbeen”
是否按预期打印?如何返回到初始视图控制器?是的,我已尝试设置断点,调用了viewwillbeen(),正如您提到的,我忘记了在最后打印一个大括号“viewwillbeen”。我使用普通的故事板序列在视图控制器之间交换。问题是当我跳转到另一个视图控制器并返回时调用ViewWillDisplay时,int1的值不是1。