Nehmen wir an, Sie möchten Ihr MapView auf den aktuellen Standort konzentrieren und dann einen Code in didUpdateLocation
schreiben, der die aktuellen Standortkoordinaten verarbeitet. Wenn Sie requestLocation
oder startUpdatingLocaion
auf Ihrem Objekt CLLocationManager
nicht aufrufen, wird die Methode nie aufgerufen. Ist das korrekt?Wann wird didUpdateLocation aufgerufen?
Aber ob Sie rufen requestLocation
oder startUpdatingLocation
wenn Sie auf Ihrem MapView
den blauen Punkt sehen, die Ihre Position bewegt zeigt (zum Beispiel Sie simulieren Bewegung), aber didUpdateLocation wird nicht automatisch aufgerufen.
Ich versuche zu verstehen, warum sie eine Delegiertenmethode gemacht haben, wenn Sie es irgendwie selbst nennen müssen.
Ja, vielleicht war ich nicht klar genug. Aber was ich sagen wollte ist, dass didUpdateLocations immer einen Start zu ihr angerufen hat. In der Kartenansicht können Sie jedoch sehen, wie sich der blaue Punkt bewegt (z. B. wenn Sie Bewegungen simulieren), aber didUpdateLocations wird nicht aufgerufen. Ich werde meine Frage aktualisieren. – Codey
Nun, es ist irgendwie seltsam, dass der blaue Punkt sich bewegt, aber es kann erwartet werden, dass der Punkt aktualisiert wird, aber der Delegat wird nicht aufgerufen, da Sie ihn nicht abonniert haben meine Meinung. Sie müssen den Start anrufen, um Updates zu erhalten. – Daniel
https://developer.apple.com/reference/corelocation/cllocationmanagerdelegate – Daniel