iOS CLLocationManager在一个单独的类

我有多个视图控制器需要获取用户的位置,所以我想创建一个单独的类,ViewController可以调用以获取用户的最新位置。

locationManager:didUpdateToLocation:fromLocation返回void。一旦计算用户的纬度和经度,我如何将纬度和经度数据传回给我的ViewControllers?

我可以在我的locationManaging类中尝试写入getter和setter,但是如果我这样做,我怎么知道什么时候调用ViewController类的纬度getter和longitude getter方法?如何保持ViewController的主线程等待来自locationManaging类的纬度和经度值?

谢谢!

解决方法

创建一个具有纬度和经度属性的单例类,startLocating和endLocating。在类中,创建一个CLLocationManager实例,并将其委托设置为单例。在startLocating和endLocating中,调用CLLocationManager实例的相应方法。使委托方法更新纬度和经度属性。在其他ViewControllers中,阅读此单身人士的纬度和经度属性。

要知道何时从另一个ViewController读取这些属性,请在这些属性上设置一个观察者(请参阅NSKeyValueObserving Protocol Reference

在执行此操作之前,请查看现有代码的Internets。

执行此操作后,将其上传到GitHub并获得许可证。

相关文章

在有效期内的苹果开发者账号(类型为个人或者公司账号)。还...
Appuploader官网--IOS ipa上传发布工具,证书制作工具跨平台...
苹果在9月13号凌晨(北京时间)发布 iOS 16,该系统的设备可...
计算机图形学--OpenGL递归实现光线追踪
Xcode 14打出来的包在低版本系统运行时会崩溃,报错信息是Li...