我正在研究 RSS 阅读器代码,可以在其中下载文章并可以离线查看。问题是只有在所有文章都被下载后,包含标题的表格视图才会更新。使用核心数据。因此,每次保存 NSobjectcontext 时,都会调用 [self tableview updatebegins]。该表正在通过 fetchcontroller 核心数据进行更新。
每次保存文章时,我都尝试保存 NSobjectcontext ,但这并没有更新表格视图。我想要一种类似于 instapaper tableview 的机制,其中文章被保存并且 tableview 会立即更新。如果您知道解决方案,请提供帮助。提前致谢。
添加代码以更好地理解
AppDelegate.m 包含以下代码
- (void)feedSuccess:(ZSURLConnectionDelegate*)delegate
NSManagedObjectContext *moc = [self managedObjectContext];
CXMLElement *root = [document rootElement];
CXMLElement *channel = [[root elementsForName:@"channel"] lastObject];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:[NSEntityDescription entityForName:@"FeedItem" inManagedObjectContext:moc]];
for (CXMLElement *item in [channel elementsForName:@"item"])
{
// push element in core data and then save context
//Save context
[moc save:&error];
ZAssert(error == nil, @"Error saving context: %@", [error localizedDescription]);
}
这会触发 RootviewController.m 中的表更改代码
- (void)controllerWillChangeContent:(NSFetchedResultsController*)controller
{
[[self tableView] beginUpdates];
}