Iphone 马特·加拉赫';s UITableView(重新访问)和#x2B;NSFetchedResultsController

Iphone 马特·加拉赫';s UITableView(重新访问)和#x2B;NSFetchedResultsController,iphone,uitableview,core-data,nsfetchedresultscontroller,Iphone,Uitableview,Core Data,Nsfetchedresultscontroller,如果你看看Matt Gallagher的Cocoa With Love博客,他在一个新的。。。在这篇文章中,他谈到了动画和异质细胞等的许多好处。然而,他列出的限制之一对我来说有点阻碍了表演。它不适用于NSFetchedResultsController。将数据加载到单元格的设计假定所有数据都是静态的,并且可以立即使用。但是,如果您正在构建一个包含许多行的表,并且您的数据由核心数据中的对象组成,那么如果您能够访问FRC的缓存和动态加载功能,您的视图控制器可能会受益匪浅 我的问题:是否有人努力重新分

如果你看看Matt Gallagher的Cocoa With Love博客,他在一个新的。。。在这篇文章中,他谈到了动画和异质细胞等的许多好处。然而,他列出的限制之一对我来说有点阻碍了表演。它不适用于NSFetchedResultsController。将数据加载到单元格的设计假定所有数据都是静态的,并且可以立即使用。但是,如果您正在构建一个包含许多行的表,并且您的数据由核心数据中的对象组成,那么如果您能够访问FRC的缓存和动态加载功能,您的视图控制器可能会受益匪浅


我的问题:是否有人努力重新分配其重新访问的UITableView设计任务,以便与NSFetchedResultsController一起使用?如果有人已经做过(或正在做),我很乐意在我的工作中尝试它,甚至帮助开发它。

很好。。。已更改,以支持核心数据。

+1是一个好问题。不确定你到底需要什么,但是如果你正在寻找细胞的延迟加载/缓存,你可以看看Enomego的同事们的EGOImageLoading。Github就在这里,让我再解释一下。我的每个单元格实际上都有一个核心数据对象作为后盾。事实上,有很多很多核心数据对象(可以把它们看作是人的数据库记录、地图或日历事件……事实上,我在核心数据中有所有这些东西,每个都由应用程序中某个表中的一个单元格表示)。我使用核心数据的唯一原因是,它负责管理大量数据,在其中进行搜索,只加载所需的数据以节省内存。FRC是表视图单元格和要加载的数据之间的粘合剂。。。我喜欢图像加载,但我并不真的担心图像。。。这是单元格中其他信息背后的数据。也许我遗漏了一些重要的信息,但仅仅遵循MVC指导原则不是很简单吗?您将拥有一个来自CoreData的数据对象和一个view对象(在本例中是来自cocoawithlove的)。在数据更改时,您调用
FetchedResultsController
-委托并使用存储在数据对象中的值更新视图对象。请详细说明您希望从Gallagher的方法中保留什么内容?在我看来,它与标准方法的区别在于它将数据视为静态的。(顺便说一句,如果您可以访问iOS5 betas和WWDC2011视频,请看一看;UITableView中添加了很多内容。)这看起来相当不错。我在运行它时有点崩溃,但这是一个简单的解决办法。当然比另一个更好。我想这只是一个错误检查问题,我已经忘记了,但我会再研究一下。不过我是在Xcode 3.2下运行的。也许@phix23还需要更实质的东西?不知道我认为一旦有人检查了答案,它就会自动授予。我不喜欢这个解决方案,原因如下:代码不太可重用,核心数据模型绑定到表视图模型-不适用于更复杂的数据模型或复杂的PageCell,它不异步执行数据获取,它没有实现NSFetchedResultsControllerDelegate,因此没有更新单元格,当我单击“nib加载的单元格”时,它会崩溃。我想到了一个更可重用的解决方案,它独立于使用的核心数据模型。@phix23您应该在开始赏金时表达您的想法,或者在5天前我发布答案时表达您的想法,而不是在最后一刻,我会尝试一些东西。