我想知道我是否应该更少依赖我的项目'App Delegate来设置我的应用程序 - 或者这类代码是否属于该模型的单例类部分?
例如-let说,在我的用户进入第一个视图之前 - 我需要应用程序从服务器下载一些数据,我需要执行一些检查并创建一个BaseDataStore类型的类来存储应用程序的东西下载。所有这一切都在我的应用程序启
将所有这些代码放在applicationDidFinishLaunchingWithOptions中似乎是正确的做法 - 因为这是应用程序启动后调用的内容。我的问题:这是正确的地方吗?或者我为这类事创建自己的类?
答案 0 :(得分:2)
简而言之:是的,你需要创建自己的类。
将所有代码放在AppDelegate和ViewController类中是iOS中的一种流行习惯。 iOS应用程序往往具有小型(自动生成的)模型类,然后通过ViewControllers或AppDelegate进行管理。这是创建放屁应用程序之类的最快方法。
如果您正在构建比放大屁更大的东西,我建议采用不同的方法:经理类可以改变您的模型(设置,保存等)。然后AppDelegate在需要时调用模型管理器。此外,当“应用程序逻辑”放置在模型类中时,应用程序代码通常会得到改进。为了适应模型更改(并重新生成模型类),应该通过包含“应用程序逻辑”的类别扩展自动生成的ManagedObjects。
答案 1 :(得分:1)
对于从网络加载数据的简单项目,您的流程应该是:
applicationDidFinishLaunchingWithOptions
前两个步骤用于显示应用程序数据正在加载给用户(如果不这样做,则会显示Default.png显示很长时间)。如果可以刷新第一个ViewController数据,您可以直接加载它,首先显示缓存数据并启动刷新。