私は初心者として私を治療してください速く新しいです。
私はtutorialに従っています。これはかなり古いチュートリアルで、私はポッドでやっていますが、GoogleMapフレームワークを使っています。 func geocodeAddress
でMapTasks.swift
ファイルに私は理由SWIFTの切り抜いたバージョンのこのエラーを取得していますです即時の呼び出しで余分な引数 'エラー'
func geocodeAddress(address: String!, withCompletionHandler completionHandler: ((status: String, success: Bool) -> Void)) {
if let lookupAddress = address {
var geocodeURLString = baseURLGeocode + "address=" + lookupAddress
geocodeURLString = geocodeURLString.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)!
let geocodeURL = NSURL(string: geocodeURLString)
dispatch_async(dispatch_get_main_queue(), {() -> Void in
let geocodingResultsData = NSData(contentsOfURL: geocodeURL!)
let request = NSMutableURLRequest(URL: geocodingResultsData)
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
(let data, let response, let error) in
if let _ = response as? NSHTTPURLResponse {
do {
let json = try NSJSONSerialization.JSONObjectWithData(data!, options: .MutableContainers) as? NSDictionary
if error != nil {
print("error=\(error!)")
return
}
if let parseJSON = json {
}
} catch {
print(error)
}
}
}
task.resume()
else {
// Get the response status.
let status = dictionary["status"] as! String
if status == "OK" {
let allResults = dictionary["results"] as! Array<Dictionary<NSObject, AnyObject>>
self.lookupAddressResults = allResults[0]
// Keep the most important values.
self.fetchedFormattedAddress = self.lookupAddressResults["formatted_address"] as! String
let geometry = self.lookupAddressResults["geometry"] as! Dictionary<NSObject, AnyObject>
self.fetchedAddressLongitude = ((geometry["location"] as! Dictionary<NSObject, AnyObject>)["lng"] as! NSNumber).doubleValue
self.fetchedAddressLatitude = ((geometry["location"] as! Dictionary<NSObject, AnyObject>)["lat"] as! NSNumber).doubleValue
completionHandler(status: status, success: true)
}
else {
completionHandler(status: status, success: false)
}
}
})
}
else {
completionHandler(status: "No valid address.", success: false)
}
}
は、これまでのところ、私が知っているコールに
エクストラ引数「エラー」と呼ばれるエラーを取得しています。私は、次の午前チュートリアルはSWIFTの古いバージョンで書かれていると私は新しい
スウィフト2.0では
。メソッド内で変数を宣言するだけです。それは動作しません。 "var error?"という行を削除してみてください。それがうまく動作せず、Swift 2.0でqorkingしている場合は、NSJSONSerializationでdo-try-catchメソッドを使用する必要があります。 –