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