Je pense qu'il me manque quelque chose d'évident quelque part. J'ai une lastqueriedlocation (CLLocation *) définie dans l'en-tête comme une propriété et synthétisée. Je veux mis à jour en LocationManager: didUPdateToLocation: fromLocation:Stocker une CLLocation persistante
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation{ CLLocationDistance dist = [lastQueriedLocation getDistanceFrom:newLocation]; if (dist>1000) { lastQueriedLocation = newLocation; [self reSearch:lastQueriedLocation]; } if ([resultArray count] > 0) { [self findAndDisplayNearestLocation:location]; } }
lastQueriedLocation est et init'd en ventilés entre viewDidLoad.
Le problème est que bien sûr lastQueriedLocation = newLocation;
résulte en un EXC_BAD_ACCESS
. Alors, quelle est la bonne approche pour persister lastQueriedLocation? Si cela contribue à rendre le problème plus concret - reSearch appelle un service web récupérant un point d'intérêt à moins de 2 km de l'emplacement - donc je ne veux le faire que lorsque nous avons bougé 1 km ... mais je veux toujours garder la précision au mieux, donc je peux mettre en évidence le plus proche, faire défiler la carte etc.