2009-11-27 60 views
0

我試圖刪除一個由UITableView中的NSFetchedResultsController管理的對象 - 我試圖通過添加/刪除按鈕從單獨的視圖這樣做。但是,當我在視圖之間切換時,似乎控制器和表格正在失控,我無法退出找出原因。這是我得到的錯誤 - 不幸的是,這並不總是發生,這取決於我通過應用程序採取什麼樣的路徑:從NSFetchedResultsController控制的UITableView從表視圖以外刪除時出錯

嚴重的應用程序錯誤。除了核心數據的變化在加工過程中被抓獲:*** - [NSCFArray removeObjectAtIndex:]:指數(6)超越界限(6)與用戶信息(空)

我可以看到我的委託方法得到正確調用和刪除代碼非常簡單,我沒有看到任何錯誤。

任何想法/調試提示將不勝感激。

回答

1

我遇到了類似的問題。我迄今發現的唯一的解決辦法是重新獲取的NSFetchedResultsController:

if (![[self resultsController] performFetch:&error]) { 
    NSLog(@"%@:%s Error refreshing the fetch controller %@", [self class], _cmd, 
     [error localizedDescription]); 
    NSAssert(NO, @"Failed to refresh the fetch controller"); 
} 
0

我不知道,如果我們有同樣的問題,但我的問題與解決如下:

(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 
return self.fetchedResultsController.sections.count;} 

(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
id <NSFetchedResultsSectionInfo> sectionInfo = [self.fetchedResultsController sections][section]; 
return [sectionInfo numberOfObjects];} 
相關問題