我正在尝试在我的应用中使用iOS didEnterRegion方法。我有一个tableView将用户传递给profileViewController。在profileViewController的viewDidLoad方法中,我有一组纬度和经度坐标作为区域存储,然后我开始监视该区域。
此代码有效,但didEnterRegion方法仅针对最后加载的配置文件触发。例如,如果我查看配置文件A并开始监视配置文件A的区域,那么我查看配置文件B,只有当我输入配置文件B的区域时才会触发didEnterRegion。
有谁知道可能出现的问题?谢谢!
以下是profileViewController的viewDidLoad方法中的代码:
NSString *latOne = placeLatitude;
NSString *lngOne = placeLongitude;
NSString *radiusOne = @"100";
CLLocationDegrees latTwo = [latOne doubleValue];
CLLocationDegrees lngTwo =[lngOne doubleValue];
CLLocationDistance radiusTwo = [radiusOne doubleValue];
CLLocationCoordinate2D coordinates = CLLocationCoordinate2DMake(latTwo, lngTwo);
CLRegion *grRegion = [[CLRegion alloc] initCircularRegionWithCenter:coordinates
radius:radiusTwo identifier:[NSString stringWithFormat:@"grRegion%i", 1]];
[locationManager startMonitoringForRegion:grRegion];
我的didEnterRegion也在profileViewController
中- (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region
{
//local notification code is in here
}
答案 0 :(得分:0)
设置为位置管理员代理的视图控制器是将实现/响应didEnter / didExit的视图控制器,我建议您使用位置管理器的singelton模式(或共享实例)并设置de delegate正确。有几个位置管理器的几个视图控制器可能会导致问