Cocoa Touch 从 Core Data 更新 UITableView

Posted

技术标签:

【中文标题】Cocoa Touch 从 Core Data 更新 UITableView【英文标题】:Cocoa Touch Updating UITableView from Core Data 【发布时间】:2010-02-05 02:15:35 【问题描述】:

假设我有两个UIViewControllers,都在UINavigationController 下工作:

    RootViewController 托管一个包含域名列表的 UITableView。 CodeViewController 显示一个域。

用户可以查看他们喜欢的任何域;一旦在CodeViewController 中查看该域,该名称就会通过Core Data 添加到存储中。

当用户点击返回按钮返回RootViewController 时,我希望新域出现在UITableView 中。我做不到。

我尝试了几种技术,例如刷新向表提供值的数组;我已经将我的 CD 调用发送到 viewWillAppear(目前在 viewDidLoad)。

在 Mac 上,我只是使用绑定将表格绑定到 CD 模型,但在 iPhone 上你会怎么做呢?我被难住了!

谢谢, 亚伦。

【问题讨论】:

请发布您的-viewWillAppear: 代码。 【参考方案1】:

通常你在你的核心数据数据和你的表格视图之间实现一个 NSFetchedResultsController。

它有controllerDidChangeContent:这样的委托方法来通知你内容已经改变并且表格视图需要更新(你可以在表格视图上调用reloadData)。

【讨论】:

我从未听说过 NSFetchedResultsController,经过一番大惊小怪,我让它工作了!非常感谢你的帮助!我发现这两个 Apple 文档有所帮助:developer.apple.com/iphone/library/documentation/CoreData/… 和 developer.apple.com/iphone/library/documentation/CoreData/…

以上是关于Cocoa Touch 从 Core Data 更新 UITableView的主要内容,如果未能解决你的问题,请参考以下文章

控制主音量 - iPhone、Cocoa Touch

[Cocoa]深入浅出 Cocoa 之 Core Data- 框架详解

如何在 Cocoa 文本输入系统中使用 Core Data?

UI - Cocoa Touch框架

与 Core Data 相关的 Cocoa 错误 19

Core Data Cocoa 错误 1570。不能保存多个实体对象