iPhone Appのサンプルコード LocateMeのソースを読んでみる
iPhone Appの開発方法とObjective-Cを理解するためにサンプルコードを読んでみる。
まず、Startボタンを押したらMainViewControllerのstartStopButtonPressedメソッドが実行される。
この時、下記のソースのelseの方が実行される。
ここでは、MyCLControllerのインスタンスを生成し、locationManager(CLLocationManagerオブジェクト)のstartUpdatingLocationメソッドが実行される。
これでユーザーの現在位置の取得が始まる。
-(IBAction)startStopButtonPressed:(id)sender { if (isCurrentlyUpdating) { [[MyCLController sharedInstance].locationManager stopUpdatingLocation]; isCurrentlyUpdating = NO; [startStopButton setTitle:NSLocalizedString(@"StartButton", @"Start")]; [spinner stopAnimating]; } else { [[MyCLController sharedInstance].locationManager startUpdatingLocation]; isCurrentlyUpdating = YES; [startStopButton setTitle:NSLocalizedString(@"StopButton", @"Stop")]; [spinner startAnimating]; } }
位置情報が取得できたらMyClControllerの下記のメソッドが呼び出される。
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
このメソッドの引数のnewLocationに位置情報が設定される。
newLocation.coordinate.latitude:緯度
newLocation.coordinate.longitude:軽度
このメソッドの最後で下記の行が実行されRootViewControllerのnewLocationUpdateが実行される。
[self.delegate newLocationUpdate:update];
こんな感じで動いてる。
一応、動かしながらソースをながめたので間違いはないと思うが。
まだ、Objective-Cに慣れていないのでデリゲートとか出てくるとサクサク進まないが
サンプルコードを参考に、ぼちぼちiPhone Appを開発中。