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的主要内容,如果未能解决你的问题,请参考以下文章
[Cocoa]深入浅出 Cocoa 之 Core Data- 框架详解