アプリのデリゲートで取得したユーザーの位置を取得するために、アプリの他の場所からメソッドを呼び出したいと考えています。CLLocation *getCurLoc = [AppDelegate getCurrentLocation];
別のView Controllerから呼び出すと、何も返されません。
アプリデリゲートは、
@synthesize locationManager;
CLLocation *location;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
locationManager = [[CLLocationManager alloc]init];
locationManager.delegate = self;
locationManager.desiredAccuracy=kCLLocationAccuracyKilometer;
[locationManager startUpdatingLocation];
return YES;
}
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{
[locations lastObject];
[manager stopUpdatingLocation];
CLLocation *location = [locations lastObject];
}
+(CLLocation *)getCurrentLocation{
return location;
}
「-」を使用してインスタンスメソッドに変更しても機能しませんでした。「場所」をインスタンス化する必要がありますか?デリゲートをインスタンスにする必要がありますか、それとも他の場所からアクセスするためのより良い方法はありますか?