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