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

标签 ios swift int

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

相关文章:

ios - 本地通知 15 分钟间隔问题

objective-c - 在 View 中处理多个 CALayer 的绘图

ios - 读取 BLE 外设特性并检查其值?

ios - 在 Swift 中将 AnyObject 向下转换为 Int(使用 Sprite Kit)

swift - 从菜单项调用 InterfaceController 会导致无限旋转的轮子

c++ - 尝试一次取 1 个随机数字

C - 将输入字符串格式化为整数变量

java - 从java中的字符串解析负前缀整数

ios - 链接 Storyboard引用时出现 ibtool 错误 : The file "Info.plist" couldn't be saved in the folder *. storyboardc

swift - 如何获取 Swift 4 中的类属性列表?