2010-05-20 72 views
0

我正在创建一个新闻聚合应用程序,每4分钟提取一个xml提要。加载xml后,我通过删除数据库中的所有对象来清除所有内容,然后将新对象保存回数据库。然后我调用[self.tableViewSection reloadData];重新加载tableView。那当我遇到问题时。一旦代码获取的地方,我访问新[[managedObject valueForKey:@"event_text"] description]内容的部分失败了:iPad --- managedObject问题,当[self.tableViewSection reloadData]

***终止应用程序由于未捕获的异常 “NSObjectInaccessibleException”, 原因:“CoreData不能履行 过错“0x4b3f6a0 '

现在,从我在上面所描述的流动,这似乎有些奇怪,我认为对的tableView正确填写下一次我启动应用程序,以‘新’数据我拿来在上一届会议上。所以它并不是那些数据已损坏,但在我保存新数据后重新提取managedObject时,似乎出现了一些问题。

另外请记住,这个应用程序在iPhone上运行良好,它的iPad是给我这个问题。

回答

0

我找到了解决方案,您需要告诉fetchedController在重新加载新数据之前再次执行performFetch。

-(void)reloadFetchController 
{ 
    NSError *error = nil; 
    if (![[self fetchedResultsController] performFetch:&error]) 
    { 
     NSLog(@"Unresolved error %@, %@", error, [error userInfo]); 
     abort(); 
    } 
} 

任何人都知道这是为什么iPhone OS3.0之间不同& 3.2

0

你能在删除处理详细点吗?

如果删除是在相同的上下文作为获取的成果控制器连接,这听起来像你不是删除后保存上下文。如果你这样做,更改将被处理并且提取的结果控制器将更新,反映通过委托方法的删除。