Ich bin neu zu schnell, also bitte behandeln Sie mich als Anfänger.
Ich folge tutorial, das ist ziemlich altes Tutorial und es hat GoogleMap-Framework verwendet, während ich es mit Pod tun. In func geocodeAddress
in MapTasks.swift
Datei namens ich Fehler immerZusätzliches Argument 'Fehler' im Ruf in swift
Extra-Argument 'Fehler' in Call
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)
}
}
Bisher weiß ich, das ich diese Störung erhalte wegen der diffrent-Version schnell. Tutorial verfolge ich in alte Version des schnellen geschrieben und ich tue es in neuen
Sie nicht die Variable 'Fehler' mit dem Verfahren assoziiert werden. Sie deklarieren einfach die Variable in der Methode. Es wird nicht funktionieren. Versuchen Sie, die Zeile "var error?" Zu entfernen. Wenn es nicht funktioniert und Sie mit Swift 2.0 arbeiten, müssen Sie die do-try-catch-Methode für NSJSONSerialization verwenden. –