Я пытаюсь добавить адрес улицы в свой текстовый стол UITableViewCell
. Проблема, с которой я сталкиваюсь, заключается в том, как фиксировать уникальный адрес улицы для каждого cell
в Table View
.Добавление MKPlacemark addressDictionary в UITableViewCell
Прямо сейчас он захватывает первую уличную ценность первого экземпляра в словаре и устанавливает ее как адрес улицы для каждого cell
.
Я предполагаю, что мне нужно захватить индекс, который я нахожу, а затем извлекаю значение улицы из словаря, хотя я не совсем уверен, как это сделать.
Вот мой код
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = UITableViewCell(style: .Subtitle, reuseIdentifier: "Cell")
// searchResults is an array of MKMapItems
cell.textLabel?.text = self.searchResults[indexPath.row].name
// the line that is causing me trouble
cell.detailTextLabel?.text = placeMarkAddress["Street"] as? String ?? ""
return cell
}
func searchQuery(query: String) {
// request
let request = MKLocalSearchRequest()
request.naturalLanguageQuery = query
request.region = mapView.region
UIApplication.sharedApplication().networkActivityIndicatorVisible = true
// search
let search = MKLocalSearch(request: request)
search.startWithCompletionHandler { (response, error) -> Void in
UIApplication.sharedApplication().networkActivityIndicatorVisible = false
if(error != nil) {
print(error?.localizedDescription)
} else {
// storing data about location in dictionary
for item in (response?.mapItems)! {
self.placeMarkAddress = item.placemark.addressDictionary!
// prints expected results in console (not repeating, different for each MKMapItem)
for (key,value) in self.placeMarkAddress {
print("\(key) -> \(value)")
}
}
// storing the array of mkmapitems in the array
self.searchResults = (response?.mapItems)!
}
}
}
Заранее спасибо за любую помощь.
Можете ли вы опубликовать код, в который вы храните его в 'placeMarkAddress'? Это может помочь больше. Я думаю, вы просто замените «placeMarkAddress» на цикл for или любой итерационный код. –
Опубликовано. «PlaceMarkAddress» объявлен и инициализирован правильно и дает мне ожидаемые результаты в консоли (не повторяя, уникальное значение для каждого 'MKMapItem'). Проблема, с которой я сталкиваюсь, заключается в том, как я собираюсь захватить каждый уникальный экземпляр из словарь и назначить его в 'detailTextLabel'. – Mihado