J'ai une cellule tableview avec un uilabel à l'intérieur de celui-ci et son obtention de la distance entre deux points (l'emplacement actuel des utilisateurs et un autre point que je choisis). Le problème est que lorsque je change le point dans ma base de données et que je recharge la tableview, les miles de chaque cellule sont mis à jour. Mais quand je change ma position actuelle dans le simulateur et recharge la tableview, les milles loin ne mettent pas à jour. Voici mon code.Miles Absent ne pas mettre à jour sur recharger
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath, object: PFObject?) -> PFTableViewCell? {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cells", for: indexPath as IndexPath) as! MyCell
cell.object = object
let currentLocation = CLLocation()
locManager.distanceFilter = 50
if(CLLocationManager.authorizationStatus() == CLAuthorizationStatus.authorizedWhenInUse ||
CLLocationManager.authorizationStatus() == CLAuthorizationStatus.authorizedAlways){
let coordinate₀ = CLLocation(latitude: CLLocationDegrees(-41)!, longitude: CLLocationDegrees(52.3)!)
let coordinate₁ = CLLocation(latitude: currentLocation.coordinate.longitude, longitude: currentLocation.coordinate.latitude)
let distanceInMeters = coordinate₀.distance(from: coordinate₁)
if(distanceInMeters <= 1609)
{
cell.Distance.text = "\(Float(round(distanceInMeters * 3.28084)).cleanValue) ft"
}
else
{
cell.Distance.text = "\(Float(round(distanceInMeters/1609)).cleanValue) mi"
}
}
}
Vous devez fermer et redémarrer le simulateur lorsque vous mettre à jour votre emplacement, avez-vous essayé cela? –
@RashwanL D'abord quand je fais cela, il revient à l'emplacement par défaut et la seconde est que sur un simulateur iPhone, il mettra à jour si un emplacement des utilisateurs change quand ils rechargent la tableview ou un utilisateur doit redémarrer l'application –
l'appareil fonctionnera immédiatement lorsque vous changez de position, mais pas le simulateur. –