Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c didEnterRegion被多次触发_Objective C_Ios_Core Location_Cllocationmanager - Fatal编程技术网

Objective c didEnterRegion被多次触发

Objective c didEnterRegion被多次触发,objective-c,ios,core-location,cllocationmanager,Objective C,Ios,Core Location,Cllocationmanager,出于某种奇怪的原因,有时当我进入一个区域时,didEnterRegion会被触发多达10次。有人知道发生这种情况的可能原因吗?我知道,如果我处在一个临界点上,这种情况可能会发生,但也许苹果在这些点上没有触发智能逻辑 这是怎么回事?我已经看到,当您实例化了多个CLLocationManager实例时。假设您有多个类需要使用位置,您在应用程序生命周期中分配/初始化位置管理器4-5次。。。他们都在监听委托方法 那么,如果我只有4-5个实例,为什么我会得到10个回调?很高兴你问p我相信苹果的区域监控委托

出于某种奇怪的原因,有时当我进入一个区域时,didEnterRegion会被触发多达10次。有人知道发生这种情况的可能原因吗?我知道,如果我处在一个临界点上,这种情况可能会发生,但也许苹果在这些点上没有触发智能逻辑


这是怎么回事?

我已经看到,当您实例化了多个CLLocationManager实例时。假设您有多个类需要使用位置,您在应用程序生命周期中分配/初始化位置管理器4-5次。。。他们都在监听委托方法

那么,如果我只有4-5个实例,为什么我会得到10个回调?很高兴你问p我相信苹果的区域监控委托方法中存在一个缺陷,每个实例触发两次

解决方案是为location manager委托创建您自己的singleton类,并仅为整个应用程序使用location manager的一个实例。这将阻止您获得4-5 x 2的回调。那么你和其他人一样只能得到2分

如果你愿意帮忙的话,在我回答这个问题时重复一下雷达,这样我们就可以让苹果公司一劳永逸地解决这个问题


iOS7.1行为正常吗?