如何修复错误“此类不符合键值编码,无法为关键字containerView进行编码。”?

3
当用户尝试注册或登录时,出现错误并在输出中得到以下错误信息:“此类不支持键值编码,无法为关键字containerView提供服务。”这是登录代码,注册也会出现相同的错误,但我确信代码正确。
import UIKit
import Firebase

class LoginViewController: UIViewController {

  @IBOutlet var Aemeil: UITextField!
  @IBOutlet var Apassword: UITextField!

  override func viewDidLoad() {
      super.viewDidLoad()
  }

  @IBAction func login (_ sender : Any){

      guard let email = Aemeil.text, let password = Apassword.text
        else {
            print("Form is not valid")
            return
      }

      Auth.auth().signIn(withEmail: email , password: password , completion: { (user,error) in
        if error == nil{
            let vc = self.storyboard?.instantiateViewController(withIdentifier: "AHome");
            self.present(vc!, animated: true, completion: nil);
            print("Home page open")
        }
        else{
            let alertController = UIAlertController(title: "Error", message: error?.localizedDescription, preferredStyle: .alert)
            let defaultAction = UIAlertAction(title: "Yes", style: .cancel, handler: nil)

            alertController.addAction(defaultAction)
            self.present(alertController, animated: true, completion: nil)
        }         

    })
  }
}

检查Storyboard,如果存在containerView输出口,则将其删除。或者删除任何带有警告标志的输出口。您可以在连接检查器中进行检查。 - M Zubair Shamshad
我的连接检查器都正常工作。还有其他原因导致这个错误吗? - Rr.
我的意思是当您按下登录/注册按钮时? - M Zubair Shamshad
当我点击登录/注册时,它会崩溃。 - Rr.
如果问题存在的话,应该在你下一个视图控制器的 Interface Builder 文件中。该文件将在登录/注册后打开。请检查您的主页视图控制器。 - M Zubair Shamshad
显示剩余4条评论
2个回答

5
您已经从Storyboard元素创建了一个绑定,将其绑定到相应的Swift文件中的名为“containerView”的元素上。之后您在Swift文件中删除了“containerView”变量,但是绑定仍然存在于Storyboard中。
为解决这个问题,请转到Storyboard中,点击“view controller”,如下图所示: inspector2 然后,单击“连接检查器”以查看您的“viewcontroller”的所有绑定,并从“containerView”中删除绑定: inspector1

所有我的连接检查器都正常工作,我不需要移除任何东西。那么问题是什么? - Rr.
1
对我来说这就是问题所在,感谢你的回答!应该把它放在这个帖子的更高位置,这样更多人才能看到。 - Patryk Piwowarczyk

0
我曾经遇到过类似的问题,我创建了一个 SegmentView,在其下方保留了一个 containerView,并删除了默认的 segue。此后,我重新命名了容器视图控制器名称,并将其连接为 show segue。这就是导致我面临这个问题的原因。当我将 show segue 更改为 Embed segue 时,问题得到了解决。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接