我在我的项目中使用单例但是已经在stackOverflow读取单例是不好的。
我有一个app appate appate获取currentUser信息。我需要在整个应用程序中访问这些信息,除了使用单例存储currentUser然后访问它之外还有什么方法?
我还使用单例来表示firebaseController(一个视图控制器,用于解析在整个应用程序中再次使用的firebase中的数据)。这是一个好主意还是更好的替代方案?
答案 0 :(得分:4)
有几种方法可以避免当前用户的单身人士。
您可以将当前用户作为应用程序委托中的类级别var保存,然后将其传递给视图控制器或其他需要它的类。
您可以将当前用户信息保留在Core Data或NSUserDefaults中,并在您需要的地方检索它。
我更喜欢选项1,因为它更适合访问当前用户的单元测试代码。
在我看来,单身人士本身并不坏。我认为当它们被用作全局变量时它们会变得很糟糕,您可以从代码中的任何位置直接访问和访问它们。那应该避免!但是你可以拥有一个你传递的单身,除非传递给你,否则不会访问。