Swift 3无法识别的select器发送到实例UIButton
我得到这个错误:
由于未捕获exception“NSInvalidArgumentException”而终止应用程序,原因:' – [UITouchesEvent text]:无法识别的select程序发送到实例0x6100000e9400'
它崩溃的button:
import UIKit import Firebase import FBSDKLoginKit class RegisterViewController: UIViewController, FBSDKLoginButtonDelegate, UITextFieldDelegate { override func viewDidLoad() { super.viewDidLoad() // Create Sign Up button let signUpButton: UIButton = { let button = UIButton() button.setImage(#imageLiteral(resourceName: "Go Button@1x"), for: .normal) button.addTarget(self, action: #selector(createAccountTapped), for: .touchUpInside) // when tapped on Sign In button, execute function SignInTapped button.translatesAutoresizingMaskIntoConstraints = false return button }() func signUpButtonView() { signUpButton.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true signUpButton.heightAnchor.constraint(equalToConstant: 70).isActive = true signUpButton.widthAnchor.constraint(equalTo: view.widthAnchor, constant: 0).isActive = true signUpButton.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: 0).isActive = true } self.view.addSubview(signUpButton) signUpButtonView() } func createAccountTapped(_ usernameTextField: UITextField, passwordTextField: UITextField, repeatPasswordTextField: UITextField) { let username = usernameTextField.text let password = passwordTextField.text let repeatPassword = repeatPasswordTextField.text } }
我有另一个用Facebook注册的button,它工作正常…我认为这是与函数createAccountTapped
参数,但我不知道什么是错的。
你不能通过UIButton
动作传递UITextField
实例,你只能用UIButton
设置这些动作createAccountTapped()
和createAccountTapped(_ sender: UIButton)
。
如果你想访问你的UIButton
动作中的textField
,那么你需要在你的RegisterViewController
为那个textField
创buildIBOutlet
。