位置的确定需要一些时间。应在何时何地启动位置管理器?
现在,我在加载结果视图(需要位置)之前开始位置更新一个视图。如果用户快速点击,我会得到 0.0 坐标。
为了获得正确的时机,startUpdatingLocation
应该在结果视图之前调用三个视图。这里的问题是我必须通过这三个视图控制器传递值。
接下来是我需要在另一个视图中的位置(不是上面提到的视图)。我想我会创建一个自己的位置监听器类。但是这个类什么时候实例化,坐标(经度,纬度)通过呢?协议对我没有帮助,因为只有创建我的位置侦听器的类才能获得结果。
我读了一点,想出了以下可能的解决方案:
1)通知中心的使用(见这个解决方案)
2) 在AppDelegate
在 1) 我会遇到需要结果的视图以前不会创建的问题。
2) 的实施会是什么样子?我在应用程序委托中创建了一个位置管理器的实例,然后我访问了一些 ivars,比如AppDelegate
? 如果我采用此处描述的解决方案,我将不得不CLLocationManagerDelegate
每次都实施。做一门课不是更好吗?
也许您有第三种解决方案?