我是 iOS 编程新手,我需要实现一个位置感知应用程序。我已经可以使用重要的位置更改服务,但是当我离开我的视图时,它会停止接收新的更新。
如果我在该视图上输入背景,我仍然会得到更新并且一切都很好,但是如果我将视图更改为其他视图,它就会停止......
我认为以这种方式发生是合乎逻辑的,但我也需要收到关于我其他观点的更新......
我应该为我拥有的每个视图复制代码,还是可以让我在任何视图中接收更新,比如让我的应用程序回答而不是每个视图。
谢谢, GustDD
我是 iOS 编程新手,我需要实现一个位置感知应用程序。我已经可以使用重要的位置更改服务,但是当我离开我的视图时,它会停止接收新的更新。
如果我在该视图上输入背景,我仍然会得到更新并且一切都很好,但是如果我将视图更改为其他视图,它就会停止......
我认为以这种方式发生是合乎逻辑的,但我也需要收到关于我其他观点的更新......
我应该为我拥有的每个视图复制代码,还是可以让我在任何视图中接收更新,比如让我的应用程序回答而不是每个视图。
谢谢, GustDD
你可以 :
在应用程序委托中定义位置实例,以便您可以随时访问它。
用于NSNotificationCenter
在位置更改时发布通知。
当位置发生变化时,使用代表传递信息。
在 AppDelegate.m 中添加此代码
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions
{
if(!locationManager) {
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
locationManager.distanceFilter = kCLDistanceFilterNone;
[locationManager startUpdatingLocation];
}
}
- (void) locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
//here you will get upadated location
//here you can add delegate method call to where you want to use this location or you can create a shared variable
}