如果用户启用了定位服务,我会将我的RootController指定为其代理:
appDelegate.clLocationManager.delegate = self;其中appDelegate是我的应用程序委托的一个实例,这是我拥有location服务实例的地方。CLLocationManager是clLocationManager的一个实例。如果我发现用户在某个区域之外,我想禁用位置服务委托。我这样做:
appDelegate.clLocationManager.delegate = nil;但是这个方法仍然会触发:
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation有没有其他方法可以禁用定位服务,或者至少阻止它的方法触发?
发布于 2010-06-01 00:05:43
是的,您需要告诉它停止更新位置:
[appDelegate.clLocationManager stopUpdatingLocation];在此之后,您也可以发布它。
详情请参见the documentation。
https://stackoverflow.com/questions/2944664
复制相似问题