【问题标题】:Storyboard issue with a text field文本字段的情节提要问题
【发布时间】:2018-05-20 11:47:25
【问题描述】:

我在情节提要中有一个注册视图控制器,它一直在控制台中显示相同的错误:

this class is not key value coding-compliant for the key displayNameTextField.

我知道这意味着有一个不再存在的连接并导致它崩溃。问题是我没有看到任何问题。这是 Storyboard 中的视图控制器以及所有连接:

这是代码:

class SignUpVC: UIViewController
{
    @IBOutlet weak var displayNameTextField: UITextField!
    @IBOutlet weak var usernameTextField: UITextField!
    @IBOutlet weak var emailTextField: UITextField!
    @IBOutlet weak var passwordTextField: UITextField!
    @IBOutlet weak var registerButton: UIButton!

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

    func setupTextFields()
    {
        displayNameTextField.tintColor = UIColor.white
        displayNameTextField.textColor = UIColor.white
        displayNameTextField.backgroundColor = UIColor(red: 138/255, green: 82/255, blue: 108/255, alpha: 1.0)
        displayNameTextField.attributedPlaceholder = NSAttributedString(string    : displayNameTextField.placeholder!,
                                                                   attributes: [NSAttributedStringKey.foregroundColor : UIColor(white: 1.0, alpha: 0.6)])
    handleTextFields()
}

 func handleTextFields()
    {
        displayNameTextField.addTarget(self, action: #selector(self.textFieldDidChange), for: .editingChanged)

    }  

@objc func textFieldDidChange() {
        guard let username = usernameTextField.text,       !username.isEmpty,
              let displayName = displayNameTextField.text, !displayName.isEmpty,
              let email = emailTextField.text,             !email.isEmpty,
              let password = passwordTextField.text,       !password.isEmpty
        else
        {
            return
        }
        registerButton.isEnabled = true
    }

}

我做错了什么?这是其中一种情况,这应该是显而易见的,但我只是没有看到。

【问题讨论】:

  • 你是否正确设置了视图控制器的子类?此警告通常表示尚未设置。另一种可能性是该项目的类型错误。
  • @Fogmeister - 呃,是的。这就是问题所在。谢谢你。我知道这是很明显的事情,但我期待一个联系或我没有看到的东西。原来视图控制器的子类没有正确设置。这解决了这个问题。谢谢
  • 不用担心。真高兴你做到了。 :-)
  • 回答这个问题,我会批准它来结束这个问题。
  • @Fogmeister 您应该发布您的解决方案作为答案,以便 OP 可以接受它。

标签: ios swift xcode uistoryboard iboutlet


【解决方案1】:

这个错误通常表明你没有正确设置视图控制器的子类。

在界面构建器中为该视图控制器检查属性检查器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-17
    • 2012-12-05
    • 1970-01-01
    • 1970-01-01
    • 2015-04-21
    • 2014-02-13
    • 1970-01-01
    相关资源
    最近更新 更多