0

NSFetchedResultsControllerDelegate가 업데이트 (항목 삭제 등) 을 처리 중이며 동시에 사용자가 UITableView를 스크롤하면.스크롤하는 동안 업데이트하는 동안 NSFetchedResultsController

UITableView가 삭제되는 가져 오기 요청 항목에 액세스해야하는 경우 어떻게됩니까? cellForRowAtIndexPath에서 어떻게 테스트해야합니까?

발생하지 않습니까?

+0

일부 테스트를 마친 후에는 NSFetchedResultsController의 NSManagedObjectContext를 잠글 필요가 있으므로 cellForRowAtIndexPath가 NSFetchedResultsController를 읽을 때 업데이트되지 않았는지 확인해야합니다. 누구나 확인할 수 있니? – CodeFlakes

답변

2

이것은 문제되지 않습니다. 핵심 데이터 및 테이블 뷰가이를 처리합니다.

관리 대상 개체를 삽입하거나 삭제 한 후에 테이블보기를 업데이트해야합니다.

가장 쉬운 방법은 NSFetchedResultsControllerDelegate 메소드 reloadData의 테이블보기를 controllerDidChangeContent:으로 만드는 것입니다.

행을 테이블 안팎으로 움직이게하는 것과 같은 멋진 작업을하려면 NSFetchedResultsControllerDelegate Protocol Reference의 일반적인 사용 섹션에서 보일러 플레이트 코드를 확인하십시오.

+0

'reloadData'를 사용하는 것이 효과적입니다 만, NSFetchedResultsController와 함께 사용하면 모든 셀을 다시로드하게되므로 생산성이 약간 향상됩니다. 이것은 특히 길이가 수백 셀이 될 수있는 테이블을 가지고있을 때 (예 : 대화 대화) 비싼 작업입니다. – alexgophermix

관련 문제