应用程序午餐时初始化单例类
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,您可以考虑在后台移动代码。
【讨论】:
以上是关于应用程序午餐时初始化单例类的主要内容,如果未能解决你的问题,请参考以下文章