2010-03-19 19 views
0

Mon application utilise Core Location dans trois vues différentes. Cela fonctionne parfaitement. Dans ma première vue, je sous-classe le CLLocationManager et utilise des méthodes de protocole pour les mises à jour d'emplacement à ma classe appelante. Avant d'installer le framework et le code dans mes autres classes, je me demandais:Emplacement principal Meilleur emplacement et interruption de l'utilisateur

La méthode du protocole est-elle la meilleure? Qu'arrive-t-il à l'exécution de l'emplacement principal si l'utilisateur quitte la vue ou quitte l'application alors qu'elle essaie d'obtenir une correction d'emplacement? La tâche de localisation est-elle terminée avec le système GPS désactivé immédiatement?

Si l'utilisateur bascule simplement vers une autre vue, est-ce que je peux supposer que je peux démarrer l'emplacement principal dans la vue suivante sans tenir compte de la dernière?

Où doit être placé le premier appel d'emplacement de mise à jour. Si le délégué de l'application instancie la classe CLLocation Manager à l'aide du protocole afin qu'il puisse mettre à jour les vues choisies ou que chaque classe instancie le gestionnaire.

Tout commentaire serait apprécié.

Merci.

Répondre

0

Puisque vous n'avez pas vraiment besoin de plus d'un CLLocationManager, vous pouvez essayer de le créer comme une propriété du délégué de votre application. Ensuite, lorsque vous chargez vos vues, dans la méthode -viewWillAppear:animated: de votre contrôleur de vue, incluez une ligne [locationManager setDelegate:self]; et il commencera à envoyer des messages de délégué au contrôleur de vue actuellement visible.

+0

Alors j'allais dans la bonne direction. De cette façon, l'état du gestionnaire serait indépendant de la vue. Merci encore. –