我是iOS编程的新手,我需要实现一个位置感知应用程序。我已经可以使用重要的位置更改服务,但是当我离开我的视图时,它会停止接收新的更新。
如果我在该视图中输入背景,我仍然可以获得更新,一切都很好,但如果我将视图更改为其他视图则停止...
我认为以这种方式发生是合乎逻辑的,但我还需要接收其他观点的更新......
我应该为我拥有的每个视图复制代码,还是可以创建我以任何视图接收更新,比如使我的应用程序回答而不是每个视图。
谢谢, GustDD
答案 0 :(得分:1)
你可以:
在应用程序委托中定义位置实例,以便您随时可以访问它。
使用NSNotificationCenter
在位置更改时发布通知。
使用代理人在位置更改时传递信息。
答案 1 :(得分:1)
在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
}