Это мой код ниже.taskIdentifier получение ошибки [Swift]
var placesTask = NSURLSessionDataTask()
func fetchPlacesNearCoordinate(coordinate: CLLocationCoordinate2D, radius: Double, types:[String], completion: (([GooglePlace]) -> Void)) ->()
{
var urlString = "https://maps.googleapis.com/maps/api/place/nearbysearch/json?key=\(apiKey)&location=\(coordinate.latitude),\(coordinate.longitude)&radius=\(radius)&rankby=prominence&sensor=true"
let typesString = types.count > 0 ? types.joinWithSeparator("|") : "food"
urlString += "&types=\(typesString)"
urlString = urlString.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)!
if placesTask.taskIdentifier > 0 && placesTask.state == .Running {
placesTask.cancel()
}
UIApplication.sharedApplication().networkActivityIndicatorVisible = true
placesTask = session.dataTaskWithURL(NSURL(string: urlString)!) {data, response, error in
UIApplication.sharedApplication().networkActivityIndicatorVisible = false
var placesArray = [GooglePlace]()
if let json = (try? NSJSONSerialization.JSONObjectWithData(data!, options:[])) as? NSDictionary {
if let results = json["results"] as? NSArray {
for rawPlace:AnyObject in results {
let place = GooglePlace(dictionary: rawPlace as! NSDictionary, acceptedTypes: types)
placesArray.append(place)
if let reference = place.photoReference {
self.fetchPhotoFromReference(reference) { image in
place.photo = image
}
}
}
}
}
dispatch_async(dispatch_get_main_queue()) {
completion(placesArray)
}
}
placesTask.resume()
}
Ошибка я получаю:
- [NSURLSessionDataTask taskIdentifier]: непризнанный селектор направлен например 0x7f8eba441e60
*** Нагрузочного приложение из-за неперехваченное исключением 'NSInvalidArgumentException', причина: '- [NSURLSessionDataTask taskIdentifier]: непризнанный селектор, отправленный в экземпляр 0x7f8eba441e60'
Я не уверен, какая часть кода пошла не так. Я попробовал google и использовал код примера, но ошибка продолжает поступать. Не уверен, что это из-за Xcode 7 beta 6
Где вы объявляете, и установить, переменную 'placesTask'? – Robert
@Robert Спасибо за ответ. Я объявляю это наверху. Я отредактировал мой пост –
Выполняется отлично с Xcode 6.4, свойство доступно из iOs 7.0, которое требуется для Swift, так что это тоже не должно быть проблемой. Что произойдет, если вы нажмете Alt + щелчок или cmnd + щелкните свойство? –