【发布时间】:2011-01-29 17:45:18
【问题描述】:
我正在编写一个在一个屏幕上包含两个表格的应用程序。左表是文件夹列表,右表显示文件列表。当点击左侧的一行时,右侧的表格将显示属于该文件夹的文件。
我正在使用 Core Data 进行存储。当文件夹的选择发生变化时,右表的 NSFetchedResultsController 的 fetch 谓词会发生变化并执行新的 fetch,然后重新加载表数据。我使用了以下代码sn-p:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"list = %@",self.list];
[fetchedResultsController.fetchRequest setPredicate:predicate];
NSError *error = nil;
if (![[self fetchedResultsController] performFetch:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
[table reloadData];
但是抓取结果还是一样的。在获取之前和之后,我已经 NSLog'ed “谓词”,并且它们对于更新的信息是正确的。提取结果与初始提取相同(加载视图时)。
我对 Core Data 获取对象的方式不是很熟悉(有缓存系统吗?),但我之前用单表视图做过类似的事情(更改谓词、重新获取数据和刷新表)一切顺利。
如果有人能给我一个提示,我将不胜感激。
提前致谢。
【问题讨论】:
标签: iphone uitableview core-data nspredicate nsfetchedresultscontroller