【发布时间】: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