致命错误:在Swift中展开可选值时意外发现了零

所以我试图在Swift中获取input字段的文本。 所以这就是我得到的

class ViewController: UIViewController { @IBOutlet var passwordField: UITextField! @IBOutlet var usernameField: UITextField! override func viewDidLoad() { super.viewDidLoad() //Try to log user in by default let user = usernameField.text let password = passwordField.text 

这一切看起来不错(我知道我没有closures课程,我只是直接把它拉出来),当我去运行它,我得到

致命错误:意外地发现零,而解包一个可选的值(lldb)

您必须在新标签页中打开图片才能看到它

(您必须在新标签中打开图片才能看到)

我用IBOutlet成功绑定了input字段,我知道这一点。 有任何想法吗?

尝试这种方式,我认为这将工作:

 if let abc = usernameField.text{ let user = abc } 

我想你必须在TextField的委托方法中检查这个

 func textFieldDidEndEditing(textField: UITextField) { } 

而不是ViewDidLoad或ButtonClick的行动

导致TextField在ViewDidLoad上为空!

将代理设置为文本字段时遇到此问题。 无法弄清楚是错误的然后意识到,我已经声明的第二个视图控制器的类作为视图控制器而不是UIViewController。 我是新来的