核心位置最佳布局和用户中断

Posted

技术标签:

【中文标题】核心位置最佳布局和用户中断【英文标题】:Core Location Best Placement and User Interruption 【发布时间】:2010-03-19 22:25:07 【问题描述】:

我的应用程序在三个不同的视图中使用核心位置。它运行良好。在我的第一个视图中,我将 CLLocationManager 子类化,并使用协议方法对我的调用类进行位置更新。在我在其他类中安装框架和代码之前,我想知道:

协议方法是不是最好的方法?

如果用户在尝试获取位置修复时退出视图或退出应用,那么核心位置执行会发生什么情况? GPS系统关闭后定位任务是否立即终止?

如果用户只是切换到另一个视图,是否可以假设我可以在下一个视图中启动核心位置而不考虑最后一个?

第一次更新位置调用应该放在哪里。应用程序委托是否应该使用协议实例化 CLLocation 管理器类,以便它可以更新选择的任何视图,或者每个类都应该实例化管理器。

如有任何反馈,我们将不胜感激。

谢谢。

【问题讨论】:

【参考方案1】:

由于您真的需要多个CLLocationManager,您可以尝试将其创建为应用程序委托的属性。然后,当您加载视图时,在视图控制器的 -viewWillAppear:animated: 方法中包含 [locationManager setDelegate:self]; 行,它将开始向当前可见的视图控制器发送委托消息。

【讨论】:

所以我的方向是正确的。这样,经理的状态将独立于视图。再次感谢。

以上是关于核心位置最佳布局和用户中断的主要内容,如果未能解决你的问题,请参考以下文章

从 Apple Watch 复杂功能获取核心位置数据的最佳方式?

浅谈弹性盒子布局

最佳就地额外宽度杀死布局

核心数据过度使用?

询问用户位置的最佳方式

获取用户当前位置的最佳方式