0

我正在开发我的第一个 iOS 应用程序,并且正在尝试找出使用 CoreData 时操作模型的最佳/推荐方式。

我见过人们将 UITableViewController 子类化(从 NSFetchedResultsController 的文档页面复制代码,请参阅Standford iOS course),然后在他们的 TableViewControllers 上子类化最后一个类。

我还看到人们使用商店负责处理大部分或全部模型的 MVCS 模式。

我的应用程序的 iOS 版本将使用相当多的 TableViewControllers,但在 iPad 版本中,我将尽可能远离它们。

使用 CoreData 时的最佳实践是什么?我知道这个问题可能听起来很主观,但也许给出这两种(或任何其他)模式的优缺点会对我有很大帮助,即使它们对你们中的许多人来说似乎很明显。

4

2 回答 2

1

我已经在许多应用程序中大量使用了 Core Data。

我建议使用 Magical Record 让一切变得更容易http://cocoapods.org/?q=magical%20record(Cocoapods 也可以很容易地添加框架)。

看看magic record的github页面,看看一些使用示例。

使用 TableViews 使用 NSFetchedResultsController 就像本教程http://www.raywenderlich.com/999/core-data-tutorial-how-to-use-nsfetchedresultscontroller一样。除了在创建 NSFetchedResultsController 时使用神奇的记录功能[Blah fetchAll...]

现在,每当您更新表格上的数据时,您的表格视图都会自动更新视图。

于 2013-05-30T07:25:16.310 回答
1

我推荐的是使用 MVC 设计模式。数据检索过程应由为模型编写的服务处理。如果您可以根据要求将其建模为几层,那就更好了。Coredata<--Repository<--Servie<--VC 将是您可以使用的基本模型。您的控制器可以访问服务并且服务将访问 repo。您可以使用 repos 使用方法对 Coredata 的调用进行建模,并使用 Manage object context 执行 NSFetchRequest。

您可以使用该服务在 tableViewController 类、 UITableViewDataSource 委托方法实现中处理项目检索。

于 2013-05-30T07:52:20.583 回答