【问题标题】:How to fix error: memory read failed for 0x0如何修复错误:0x0 的内存读取失败
【发布时间】:2019-10-07 10:45:34
【问题描述】:

我点击了登录按钮,消息抛出通知中心并打开了一个国家选择器,当我点击国家选择器中的按钮时,登录视图控制器必须打开,但它抛出一个错误:

内存读取失败 0x0 ........

此错误出现在获取控制器对象和呈现之间。 我现在该怎么办??

我正在使用 Xcode 10.1 和 Swift 4

@objc func showSpinningWheel(_ notification: NSNotification) {
    if whichbuttonclick == true
    {

        let vc = self.storyboard?.instantiateViewController(withIdentifier: "LoginViewController") as! LoginViewController

        self.present(vc, animated: true, completion: nil)

    }
    else
    {
      self.performSegue(withIdentifier: "Register", sender: self)
    }
}

我希望它跳过登录控制器,但它会抛出错误。

【问题讨论】:

  • 错误可能在于您如何配置通知注册。但是您没有显示该代码。

标签: swift4.2 xcode10.1


【解决方案1】:

这就是我添加通知观察者的方式:

NotificationCenter.default.addObserver(self, selector: #selector(self.showSpinningWheel(:)), name: Notification.Name(rawValue: "opencontrollermessagenotification"), object: nil) 
    
    @objc func showSpinningWheel( notification: NSNotification)
     {
      if whichbuttonclick == true
     { self.performSegue(withIdentifier: "Login", sender: self) } 
    else
     { self.performSegue(withIdentifier: "Register", sender: self) }
     } 

这就是我发布它的方式:

  NotificationCenter.default.post(name: NSNotification.Name(rawValue: "opencontrollermessagenotification"), object: nil, userInfo: nil)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多