2015-06-10 55 views
0

我正在從PHChange實例修改我的UITableView的數據源,並且此工作正常。我不明白的是,我無法獲得UITableView右側的sectionIndex更新,除非您將全部UITableView重新加載爲:reloadDataUITableView force sectionIndex在不調用reloadData的情況下更新

是否有其他方式強制更新UITableView右側的sectionIndex?如果我手動調用:sectionIndexTitlesForTableView:我確認我收回了新的數據,但是右側的舊節索引不會在視覺上更改,這正是我所需要的。

代碼:

PHFetchResultChangeDetails *changeDetails = [changeInstance changeDetailsForFetchResult:oldFetch]; 

if (changeDetails) 
{ 
    PHFetchResult *fetchResultAfterChange = changeDetails.fetchResultAfterChanges; 

    if (fetchResultAfterChange.count < 1) 
    { 
     [subArray removeObjectAtIndex:subIdx]; 

     dispatch_async(dispatch_get_main_queue(),^ 
     { 
      NSIndexPath *path = [NSIndexPath indexPathForRow:subIdx inSection:idx]; 

      [self.albumsTableView deleteRowsAtIndexPaths:@[path] withRowAnimation:UITableViewRowAnimationNone]; 

      // Confirmed data is updating    
      NSLog(@"%@",[self sectionIndexTitlesForTableView:self.albumsTableView]); 

      // Does nothing      
      [self.albumsTableView setNeedsDisplay]; 
     }); 
    } 
} 

回答

2

試試這個功能

- reloadSectionIndexTitles

這種方法給你一個方法來更新插入或刪除的部分,而無需重新加載整個表後部分指標。

+0

不知道我在自動代碼中沒有看到完整的代碼。謝謝! – klcjr89

+0

這種方法並不經常使用。:) – Leo

+0

這是一種救生員方法 – klcjr89

相關問題