0

我正在构建一个不断与webservice. 所以一直在发布和获取数据。但是我发布和获取的所有数据也应该保存在手机上。

问题 1

当我浏览示例时。我看到他们正在加载appDelegate. 对于加载少量数据,这可能是最好的方法。但就我而言,它仍然是最好的方法还是我应该在ViewController Level.

问题 2

当我启动应用程序时,我检查了使用核心数据,这为我在appDelegate. 但在这种情况下,我无法达到我managedObjectContextviewController水平,对吧?

我现在的问题是,正确完成这项工作的最佳方法是什么?

亲切的问候

4

1 回答 1

0

问题 1

当我浏览示例时。我看到他们正在加载 appDelegate 中的所有数据。对于加载少量数据,这可能是最好的方法。但就我而言,它仍然是最好的方法还是应该在 ViewController 级别上执行此操作。

使用 appDelegate 是典型的示例代码。

如何最好地处理它完全取决于您的应用程序。与使用应用程序委托相比,将数据传输封装到您的视图控制器中无疑是一个进步。但是,根据您的应用程序,您还可以设计一个更具体的数据加载控制器来封装所有相关行为。事实上,我认为即使对于相对简单的项目,后一种选择也最有效。

问题 2

当我启动应用程序时,我检查了使用核心数据,这在 appDelegate 中为我生成了很多代码。但在这种情况下,我无法在 viewController 级别访问我的 managedObjectContext,对吧?

如果您查看 appDelegate.h 文件,您应该会找到用于从控制器访问核心数据的属性:

@property (readonly, strong, nonatomic) NSManagedObjectContext *managedObjectContext;
@property (readonly, strong, nonatomic) NSManagedObjectModel *managedObjectModel;
@property (readonly, strong, nonatomic) NSPersistentStoreCoordinator *persistentStoreCoordinator;

您可以使用它来访问托管对象上下文,[UIApplication sharedApplication].delegate也可以将该代码从应用程序委托中分解到您自己的模型管理器类中。同样,这完全取决于您的应用程序。有些应用程序只使用 1 个托管对象上下文,有些应用程序处理更多,等等。如果您的应用程序对核心数据进行了非常基本的使用,您可以保持原样。

于 2013-01-07T10:06:31.993 回答