致命错误:意外地发现零,而解包一个可选值(不能强制非可选types的string的解包值)

我想传递一个预先附加的string作为URL请求,我不断收到错误: fatal error: unexpectedly found nil while unwrapping an Optional value

这个错误指向了这一行: let searchTerm = "http://google.com/#q="+textField.text!

ViewController.swift

 func textFieldDidUpdate(textField: UITextField) { if (textField.text!.rangeOfCharacterFromSet(NSCharacterSet.whitespaceCharacterSet()) != nil) { self.webView.hidden = false let searchTerm = "http://google.com/#q="+textField.text! let request = NSURLRequest(URL: NSURL(string: searchTerm)!) self.webView.loadRequest(request) } } 

您应该将方法参数名称更改为func textFieldDidUpdate(sender: UITextField) ,使用guard来打开可选的textfield文本属性,并使用查询允许的字符集将百分号转义符也添加到您的string中。

 func textFieldDidUpdate(sender: UITextField) { guard let text = sender.text, query = text.stringByAddingPercentEncodingWithAllowedCharacters(.URLQueryAllowedCharacterSet()), url = NSURL(string: "https://google.com/#q=\(query)") else { return } webView.hidden = false webView.loadRequest(NSURLRequest(URL: url)) }