swift - Alamofire 抛出 fatal error : unexpectedly found nil while unwrapping an Optional value

标签 swift alamofire option-type

请帮忙,我对 Swift 很陌生。如果我执行一次,来自搜索栏的 API 调用就可以正常工作。但是,当我清除搜索栏并重试时,出现以下错误:

fatal error: unexpectedly found nil while unwrapping an Optional value

在这一行:

mutableURLRequest = NSMutableURLRequest(URL: NSURL(string: URLString.URLString)!)

这是我的代码。请帮忙:

    // Functions for adding search
func createSearchBar() {
    searchBar.placeholder = "Anchor Steam"
    searchBar.delegate = self

    // put into navigation bar
    self.navigationItem.titleView = searchBar
}

func searchBarSearchButtonClicked(searchBar: UISearchBar) {
    searchBar.resignFirstResponder()
    makeAPICall(searchBar.text!)
}

func searchBarTextDidBeginEditing(searchBar: UISearchBar) {
    self.searchBar.showsCancelButton = true
}

func searchBarCancelButtonClicked(searchBar: UISearchBar) {
    searchBar.showsCancelButton = false
    searchBar.text = ""
    searchBar.resignFirstResponder()
    self.searchResultTableView.reloadData()
}
func makeAPICall(beer: String) {
    print("THE SEARCHED BEER IS \(beer)")
     Alamofire.request(.GET, "https://api.untappd.com/v4/search/beer?q=\(beer)&client_id=AAA&client_secret=AAA").responseJSON { response in
            if let json = response.result.value {
                print ("Connection to API successful!")
                if let secondJSON = json["response"] as! NSDictionary? {
                    if let beersJSON = secondJSON["beers"] as! NSDictionary? {
                        if let beerItems = beersJSON["items"] as! [NSDictionary]? {
                            var beersJsonArray: [NSDictionary] = []
                            for beerObject in beerItems {
                                let insideBeerHash = beerObject["beer"]
                                beersJsonArray.append(insideBeerHash as! NSDictionary)
                            }

                            self.beers = Beer.convertBeers((beersJsonArray as? [NSDictionary]!)!)
                            self.searchResultTableView.reloadData()

                        }
                    }
                }
        }

    }
}

最佳答案

选项:

1) 确保定义URLString.URLString

2) 如果尝试使用:let url:

让 mutableURLRequest = NSMutableURLRequest(string: URLString.URLString)!

3)或者也许:

让 mutableURLRequest = NSURL(string: URLString.URLString)!

关于swift - Alamofire 抛出 fatal error : unexpectedly found nil while unwrapping an Optional value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40368064/

相关文章:

haskell - 标准库中是否有 (a -> b) -> ((Maybe a) -> (Maybe b)) 转换器?

ios - "No such module ' LocalAuthentication '"尝试使用 Swift 在 Xcode 6 中导入时

html - Alamofire Swift 获取html源码

ios - 自定义单元格在屏幕外时未填充正确的数据

swift - 永久设置 alamofire cookie

swift - AlamoFire.Request 中的多个参数

java - 在 StringUtils 中返回可选是否过度?

java - Maven - 如何仅使用编译类路径的依赖项?

Swift:比较字符串的第一个字符

ios - 来自变量的 ViewController Storyboard ID