我想从应用程序的其他地方调用一个方法来获取在应用程序委托中获得的用户位置。CLLocation *getCurLoc = [AppDelegate getCurrentLocation];
从另一个视图控制器调用时,不会返回任何内容。
应用程序代表是,
@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;
}
将其更改为带有“-”的实例方法不起作用。是否应该将“位置”作为实例?应该将委托变成一个实例,还是有更好的方法从其他地方访问它?