ios - 当有空格时文本字段返回 nil

标签 ios swift swift2 alamofire swifty-json

如果有人可以帮助我理解/解决为什么当发送实际字符串时它总是崩溃/说我的结果为零。

我知道问题与空白有关,但我做错了什么?

  • 当我输入“Hello”时,它工作正常。
  • 当我键入“Hello Word”时,出现错误并提示它为零。

fatal error: unexpectedly found nil while unwrapping an Optional value

import Alamofire
import SwiftyJSON

@IBAction func searchBtn(sender: UIButton) {
  let searchTerm:String = self.searchTextField.text!
  let apiUrl = "http://localhost/v1/define?term=\(searchTerm)" 

  Alamofire.request(.GET, apiUrl!).responseJSON { response in print(response)
    let jsonData = JSON(response.result.value!)
    if jsonData["result_type"] == "exact" {
      let definitionText = jsonData["list"][0]["definition"].string
      self.resultLabel.text = definitionText
    } else {
      self.resultLabel.text = "Sorry, your word does not have a definition."
    }
  }
}

最佳答案

我在 swift 2 中使用它进行 URL 编码,希望它能工作

let escapedSearchText = searchText.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.letterCharacterSet())!

关于ios - 当有空格时文本字段返回 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34388739/

相关文章:

ios - 准备 segue 后 swift 关闭导航 Controller

Objective-C 无法调用 Game Center 中的函数

ios - 一次创建多个本地通知失败

activeMQ 的 Swift 客户端

ios - 可以动态地将逻辑附加到方法吗?

ios - iPhone - 振动 5 次?

ios - 如何在 Swift 3 中将 Core Data 与 iCloud 同步

swift - Parse.com 安装 - 设备上打开的时间

ios - pickerView 上的 Swift fatal error

ios - 当应用程序在前台时更新来自推送通知的标签栏角标(Badge)计数