iOS - 何时加载 JSON 数据

iOS - When to load JSON data

我知道这听起来很笼统,但我想 feedback/opinions 了解何时何地解析和存储视图控制器所需的所有 JSON 数据。

我想使用 AppDelegate didFinishLoadingWithOptions 来实例化一个父 class,它将获取 JSON 数据并将其存储在那个 class 中,然后当您需要访问特定视图控制器的数据或数据子集(在 viewWillAppear 中询问)您可以调用该父 class(或其他)的 class 方法以 return 给您数据你需要

相反的设计是让每个 VC 有一个特定的 JSON 调用来获取它的特定数据,而不是调用父 class 上的 class 方法=] 上面提到的 return 它需要的数据,但这看起来笨拙且不直观,并且它破坏了 MVC 设计。 (VC 根本不应该真正关心 JSON 或解析 JSON)。 - 我已经这样做了,但它是一个 VC 并且仅用于 discovery/learning 目的。

只是想获得反馈,或许可以确认第一个设计是最好的。

如果你有一组所有 VCs 共有的数据,有一个中央 'Store class' - 你可以随时初始化它并在 VCs 之间传递它(或者更确切地说...从 VC)

使用它
//very much simplified
@interface Store
+ (id)sharedStore
- (id)getJSONForMe
@end

...

//in a viewController, use the Store
- (void)viewWillAppear {
    id myjson = [[Store sharedStore] getJSONForMe];
}

这是 programmers.stackexchange.com 的问题。

但我认为最好的智慧两者都不是。创建一个独立的数据模型,让它控制加载和保存数据。

数据模型将具有允许视图控制器获取所需数据的方法。您可能希望 -application:didFinishLaunchingWithOptions: 实例化数据模型(不是最佳做法)。

重要的是让数据模型处理保存状态的工作,这样加载和存储数据更加灵活。