应用程序午餐时初始化单例类

Posted

技术标签:

【中文标题】应用程序午餐时初始化单例类【英文标题】:Initialize a singleton class when app is lunching 【发布时间】:2014-05-19 10:49:12 【问题描述】:

我有单例数据库对象,我想在应用程序启动时从文件或服务器上传。

我有一个启动屏幕 - 在这个屏幕之后我想决定是去主视图控制器(用户已经登录)还是登录视图控制器(用户第一次登录)。

我正在考虑使用NSOperation 初始化单例并使用NSOperationQueue

我想知道初始化这个单例的最佳位置在哪里。 application:willFinishLaunchingWithOptions:application:didFinishLaunchingWithOptions: 或其他地方?

【问题讨论】:

【参考方案1】:

在我的代码中,我通常会执行以下操作。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

    // othere code here

    // Initialize ApplicationManager
    [ApplicationManager takeOff:@"TOKEN HERE"];

    return YES;

旧的 TestFlight SDK 或 CocoaLumberjack 使用这种方法。如果您的数据库设置可能会冻结 UI,您可以考虑在后台移动代码。

【讨论】:

以上是关于应用程序午餐时初始化单例类的主要内容,如果未能解决你的问题,请参考以下文章

单例模式(Singleton)

单例类

单例模式java实现

Dart类(构造函数、单例)

急求java设计模式,要求用到两种设计模式 求详细代码

java单例类