2010-05-20 25 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

你能在刪除處理詳細點嗎?

如果刪除是在相同的上下文作爲獲取的成果控制器連接,這聽起來像你不是刪除後保存上下文。如果你這樣做,更改將被處理並且提取的結果控制器將更新,反映通過委託方法的刪除。