ios - 我应该在 Swift 中使用单例位置管理器吗?

标签 ios swift core-location

上下文:

我的应用程序需要用户在几个不相关的 View Controller 中的当前位置,截至目前,我在每个 Controller 中创建一个 CLLocationManager 并一遍又一遍地请求当前位置。

但是,我觉得不合适。它是重复代码低效。 我在 Internet 上看到了几个提到单例位置管理器的引用资料。而且我还听说要尽可能避免单例。

问题:

我应该创建一个管理位置的单例类吗?如果不是,您会建议什么其他解决方案来避免这种重复代码?

最佳答案

And I also heard to avoid singletons as much as possible

上面的陈述是正确的,如果应用程序运行的某个解除分配的周期需要该数据,那么在它完成后,从内存的角度来看,单例成为一个问题,因为它在整个应用程序生命周期中保持事件状态,在你的情况下(所有 vcs inside应用程序需要位置)最适合单例以避免重复 - 低效代码和高内存问题

Needless to say 90% of apple classes uses singletons e.x

URLSession.shared

NSNotificationCenter.default

UNUserNotificationCenter.current

UserDefaults.standard

FileManager.default

关于ios - 我应该在 Swift 中使用单例位置管理器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56570090/

相关文章:

iphone - iOS4 实现-[NSURLConnection sendAsynchronousRequest :queue:completionHandler:]?

javascript - JS区分iPhone上的点击和滚动

android - 轻量级跨平台C GUI(OpenGL)

swift - 使用 Swift 从 URL 获取数据

ios - 无法使用 JSON 解码器解析 JSON

iOS 核心数据 : How do I add subsequent records to the 'many' of 1:many relationships?

ios - 在后台 Swift 中发送用户的位置

ios - locationManager 没有更新 Location

ios - 使用 swift 从 Hyperledger iroha 创建新帐户时出错

ios - NSNotification 延迟