Takahiro Octopress Blog

-1から始める情弱プログラミング

didUpdateLocationsを軽く調べてみる

didUpdateLocationsのNSArray型の引数が気になる!!

さて、今日はざっくり調べたことを書きます。ほんの数行です!

前回、書きましたdidUpdateLocationsを使ってみました。
最も気になったのが、NSArray型の引数であるlocationsの中身には何が入っているのか?ということです。
下記のようにソースを書きます。

1
2
3
4
5
6
7
8
9
10
- (void)locationManager:(CLLocationManager *)manager
   didUpdateLocations:(NSArray *)locations
{
  CLLocation *currentLocation = locations.lastObject;
  NSInteger cnt = [locations count];
  CLLocationDegrees lat = currentLocation.coordinate.latitude;
  CLLocationDegrees lng = currentLocation.coordinate.longitude;

  NSLog(@"cnt: %ld,lat: %f, lng: %f", (long)cnt, lat, lng);
}

実際にログを出力してみた結果はというと…
2014-04-08 23:02:35.371 LocationPractice[11243:60b] cnt: 1,lat: 35.933374, lng: 139.619913
2014-04-08 23:02:36.837 LocationPractice[11243:60b] cnt: 1,lat: 35.933351, lng: 139.619884
2014-04-08 23:02:37.428 LocationPractice[11243:60b] cnt: 1,lat: 35.933327, lng: 139.619856
……

の繰り返しでした。
NSArray型のlocationsには最新の位置情報しか入らないようです。
う〜む。なんでNSArray型なんでしょうか…。ただ、よくよく考えるとNSMutableArray型でないから要素増えないんでしょうか…。何て思ったりしました。
はい。短いけど、今日はここまで。

Comments