如何使用 NSFetchedResultsController 支持管理 UITableView 上的数据,如 iPhone Photo 应用

Posted

技术标签:

【中文标题】如何使用 NSFetchedResultsController 支持管理 UITableView 上的数据,如 iPhone Photo 应用【英文标题】:How to use NSFetchedResultsController to support managing data on UITableView like iPhone Photo app 【发布时间】:2010-01-14 18:15:36 【问题描述】:

我是 iPhone 开发的初学者,我使用核心数据作为后备存储,并在 UITableView 上显示多个数据实体。每个数据实体将显示为预览缩略图,一个表格视图单元格将包含 1 到 4 个缩略图。这意味着 3 个表格单元格最多可以显示 12 个数据实体,就像 iPhone Photo 一样。

我还需要直接对每个预览缩略图进行操作,而不是对整个表格视图单元格进行操作。

如果在一个表格单元格上显示一个数据实体,NSFetchedResultsController 是完美的。但在我的场景中,NSFetchedResultsController 的索引路径与表视图的索引路径不匹配。我可以知道在这种情况下使用 NSFetchedResultsController 的好习惯是什么吗?我应该使用表格视图来支持这种实现吗?

【问题讨论】:

【参考方案1】:

我不知道它是否实现了您想要的确切类,但您可能想查看three20 开源项目。它包含来自 Facebook 应用程序的大部分控件等。如果它有照片选择器,那么你可能很幸运。

【讨论】:

+1 Three20 中的 TTThumbsViewController 可能是这里最好的解决方案。 Three20 从答案链接到“带有行和列的表格,iphone”***.com/questions/2040543/…【参考方案2】:

我将创建一个封装 4 个 url 字符串的实体。然后获取该实体并将这些 url 字符串提供给负责下载图像的类。

如果您不想这样做,那么您将不得不依靠正常的 NSFetchRequest 并自己解析重新调整的数据。只需遍历返回的数组并一次提取 4 个 url。应该是一段微不足道的代码。

【讨论】:

以上是关于如何使用 NSFetchedResultsController 支持管理 UITableView 上的数据,如 iPhone Photo 应用的主要内容,如果未能解决你的问题,请参考以下文章

启动 Core Data 应用程序时在后台配置 NSFetchedResultsController

为啥不能两次获取相同的数据? NSFetchedResultsController 为空

[精选] Mysql分表与分库如何拆分,如何设计,如何使用

如果加入条件,我该如何解决。如果使用字符串连接,我如何使用

如何使用本机反应创建登录以及如何验证会话

如何在自动布局中使用约束标识符以及如何使用标识符更改约束? [迅速]