Как исправить эту ошибку ‘ этот класс не совместим с кодированием ключевых значений для key containerView.’?

#swift

#swift

Вопрос:

Когда пользователь регистрируется или входит в систему, у него возникает ошибка, и на выходе он получает эту ошибку «этот класс не совместим с кодированием значений ключа для key 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)
        }         

    })
  }
}
  

Комментарии:

1. проверьте в раскадровке, существует ли containerView розетка, затем удалите это., Или любая розетка с предупреждающим знаком также удалит это. Вы можете проверить это в инспекторе соединений.

2. Весь мой инспектор соединений работает правильно. есть другая причина этой ошибки?

3. Хорошо, происходит сбой приложения после входа в систему, процесса регистрации или сбой при переходе к этому представлению?

4. Я имею в виду, когда вы нажимаете кнопку входа / регистрации?

5. да, когда я нажимаю login / signup, происходит сбой

Ответ №1:

Вы создали привязку из элемента раскадровки к элементу в соответствующем файле swift с именем containerView . После этого вы удалили containerView переменную в вашем файле swift, но привязка все еще существует в раскадровке.

Чтобы решить эту проблему, перейдите к своей раскадровке, нажмите на view controller , как показано ниже:

инспектор2

После этого нажмите на инспектор подключений, чтобы просмотреть все ваши привязки viewcontroller и удалить привязку из containerView :

инспектор1

Комментарии:

1. весь мой инспектор соединений работает правильно, мне не нужно ничего удалять. так в чем проблема?

2. Для меня это было проблемой, спасибо за ответ! Он должен быть выше в этом потоке, чтобы больше пользователей действительно прочитали его.

Ответ №2:

Я столкнулся с аналогичной проблемой, я создал segmentview, в котором я сохранил containerView, и удалил segue по умолчанию, который поставлялся вместе с этим представлением контейнера. После этого я переименовал имя контроллера представления контейнера и подключился как show segue. Это была проблема, из-за которой я столкнулся с этой проблемой. Когда я изменил show segue на Embed segue, проблема разрешилась.