上下文:
我的应用程序需要用户在几个不相关的 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/