MKMapItem icon not available in fast

I am currently trying to create a search bar that automatically includes locations as user types. I am using MKLocalSearch to get MKLocalSearchResponse and it seems to return values ​​that I can use. However, accessing the MKPlacemark property in a search response is required to obtain a name, address, or coordinates from a search. When I access the label, I get the error message:

'placemark' is not available: APIs deprecated from iOS7 and earlier are not available in Swift

var request = MKLocalSearchRequest()
    request.naturalLanguageQuery = searchText
    //PUT HERE: check if network is on?
    let localSearch: MKLocalSearch = MKLocalSearch(request: request)
    localSearch.startWithCompletionHandler { (response: MKLocalSearchResponse!, error: NSError!) -> Void in
        if (error == nil) {
            println("searched")
            for res in response.mapItems {
                self.userSearch.append(res.placemark)
            }
            self.userSearch = response.mapItems.placemark
            self.tableView?.reloadData()
        } else {
            println(error)
        }
    }
}

Does anyone know a workaround for accessing the mark?

Thank!

+4
source share
1 answer

response.mapItems API [AnyObject]!.

for , res MKMapItem ( response.mapItems [MKMapItem]).

, res AnyObject, placemark.

'placemark' is unavailable....


, res MKMapItem, placemark .

:

for res in response.mapItems {
    if let mi = res as? MKMapItem {
        self.userSearch.append(mi.placemark)
    }
}



, for:
self.userSearch = response.mapItems.placemark

, userSearch .
for , ( , mapItems placemark).

This line is likely to be deleted.

+4
source

All Articles