У меня есть UITableView, куда я загружаю адрес из геокодера по latlng.когда я в первый раз прокручиваю таблицу, все в порядке и работает хорошо.Но проблема в том, что когда я прокручиваю вверх, все адреса теряют свою ячейку.Я имею в виду адрес 5-й ячейки, который теперь отображается на 1-й ячейке.
Это мой метод просмотра таблицы cellForRowAt
let cell = self.mytableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! HomeCell
let position = indexPath.row
let data = mVehicleList[position]
getAddress(lat: data.latitude.toD(), lng: data.longitude.toD(), text: cell.lbAddress)
// getAddress is extenstion of ViewCOnroller which is give addres of latlng
Это мое расширение getAddress (lat, lng, label)
extension UIViewController {
func getAddress(lat:Double,lng :Double, text : UILabel)
{
let location = CLLocation(latitude: lat, longitude: lng)
CLGeocoder().reverseGeocodeLocation(location, completionHandler: {(placemarks, error) -> Void in
if(placemarks != nil){
if placemarks!.count > 0 {
let pm = placemarks![0]
if(pm.subLocality != nil && pm.subAdministrativeArea != nil)
{
text.text = pm.subLocality!+" "+pm.subAdministrativeArea!
}else{
guard let addressDict = placemarks?[0].addressDictionary else {
return
}
if let formattedAddress = addressDict["FormattedAddressLines"] as? [String] {
text.text = formattedAddress.joined(separator: ", ")
}
}
}else{
text.text = "No address found"
}
}
}) } }