我以Swift 2開頭,並且在嘗試完成試圖使用iTunes API的函數時出現此錯誤。Swift 2:調用可以拋出,但它沒有用'try'標記並且錯誤沒有被處理
func searchItunesFor(searchTerm: String) {
let itunesSearchTerm = searchTerm.stringByReplacingOccurrencesOfString(" ", withString: "+", options: NSStringCompareOptions.CaseInsensitiveSearch, range: nil)
if let escapedSearchTerm = itunesSearchTerm.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding) {
let urlPath = "http://itunes.apple.com/search?term=\(escapedSearchTerm)&media=software"
let url = NSURL(string: urlPath)
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithURL(url!, completionHandler: {data, response, error -> Void in
print("Task completed")
if(error != nil) {
print(error!.localizedDescription)
}
var err: NSError?
if let jsonResult = NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers) as? NSDictionary {
if(err != nil) {
print("JSON Error \(err!.localizedDescription)")
}
if let results: NSArray = jsonResult["results"] as? NSArray {
dispatch_async(dispatch_get_main_queue(), {
self.tableData = results
self.appsTableView!.reloadData()
})
}
}
})
task.resume()
}
}
我得到的錯誤:「」呼叫可以拋出,但沒有打上「嘗試」和錯誤沒有被處理「」在這條線上
if let jsonResult = NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers) as? NSDictionary {
if(err != nil) {
有什麼解決這個問題? 謝謝
的可能的複製[斯威夫特2:呼叫可以拋出,但它沒有標記'嘗試'和錯誤不處理](http://stackoverflow.com/questions/30737262/swift-2-call-can-throw-but-it-is-not-marked- with-try-and-the-error-is-not-ha) – NobodyNada