ios – diddeterminestate并不总是被称为

有没有其他人有问题确定并不总是被调用?有时我打电话
[self.locationManager requestStateForRegion:region];

没有任何反应.奇怪的是,当我插入一个断点时

-(void)locationManager:(CLLocationManager *)manager didDetermineState:(CLRegionState)state forRegion:(CLRegion *)region

它开始工作和被召唤!这对我来说似乎很不稳定.

解决方法

在监视区域后立即请求区域状态时,我经常遇到此问题.

例如

[self.locationManager startMonitoringForRegion:region];
[self.locationManager requestStateForRegion:region];

我确保调用requestStateForRegion调用didDetermineStateForRegion:调用startMonitoringForRegion后不久.现在它不是一个很好的解决方案,它应该小心使用,但它似乎解决了这个烦人的问题.代码如下

[self.locationManager startMonitoringForRegion:region];
[self.locationManager performSelector:@selector(requestStateForRegion:) withObject:region afterDelay:1];

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...