2016-10-28 10 views
0

現在の位置にMapViewをフォーカスし、次に現在の位置座標を処理するコードをdidUpdateLocationに書き込むとします。いつdidUpdateLocationが呼び出されましたか?

オブジェクトでrequestLocationまたはstartUpdatingLocaionを呼び出していない場合、このメソッドは呼び出されません。あれは正しいですか?

しかし、あなたはあなたの場所に移動する(例えば、あなたが動きをシミュレート)が、didUpdateLocationが自動的に呼び出されません示して、あなたのMapView青い点で見れば、あなたがrequestLocationstartUpdatingLocationを呼んで天気を。

私はあなたが自分でそれを呼び出す必要があるときに、なぜ彼らがデリゲートメソッドを作ったのかを理解しようとしています。

答えて

1

startUpdatingLocationをONCEで呼び出す必要があり、場所が変更されるたびにdidUpdateLocationデリゲートメソッドが呼び出されます。これは、あなたが言うこととは非常に異なっています。

+0

はい、十分ではないかもしれません。しかし、私が言いたいことは、didUpdateLocationsは常に彼女に電話をかけ始める必要があるということです。しかし、マップビューでは、青い点が移動していることを確認できます(たとえば、動きをシミュレートする場合など)が、didUpdateLocationsは呼び出されません。私は私の質問を更新します。 – Codey

+1

青い点が動いているのは間違いですが、ドットが更新されても、デリゲートは呼び出されませんが、デリゲートの実装の動作は次のように予想されます。私の意見。更新を受け取るには、最初に電話をしなければなりません。 – Daniel

+0

https://developer.apple.com/reference/corelocation/cllocationmanagerdelegate – Daniel

関連する問題