NSFetchedResultsControllerDelegate가 업데이트 (항목 삭제 등) 을 처리 중이며 동시에 사용자가 UITableView를 스크롤하면.스크롤하는 동안 업데이트하는 동안 NSFetchedResultsController
UITableView가 삭제되는 가져 오기 요청 항목에 액세스해야하는 경우 어떻게됩니까? cellForRowAtIndexPath에서 어떻게 테스트해야합니까?
발생하지 않습니까?
NSFetchedResultsControllerDelegate가 업데이트 (항목 삭제 등) 을 처리 중이며 동시에 사용자가 UITableView를 스크롤하면.스크롤하는 동안 업데이트하는 동안 NSFetchedResultsController
UITableView가 삭제되는 가져 오기 요청 항목에 액세스해야하는 경우 어떻게됩니까? cellForRowAtIndexPath에서 어떻게 테스트해야합니까?
발생하지 않습니까?
이것은 문제되지 않습니다. 핵심 데이터 및 테이블 뷰가이를 처리합니다.
관리 대상 개체를 삽입하거나 삭제 한 후에 테이블보기를 업데이트해야합니다.
가장 쉬운 방법은 NSFetchedResultsControllerDelegate 메소드 reloadData
의 테이블보기를 controllerDidChangeContent:
으로 만드는 것입니다.
행을 테이블 안팎으로 움직이게하는 것과 같은 멋진 작업을하려면 NSFetchedResultsControllerDelegate Protocol Reference의 일반적인 사용 섹션에서 보일러 플레이트 코드를 확인하십시오.
'reloadData'를 사용하는 것이 효과적입니다 만, NSFetchedResultsController와 함께 사용하면 모든 셀을 다시로드하게되므로 생산성이 약간 향상됩니다. 이것은 특히 길이가 수백 셀이 될 수있는 테이블을 가지고있을 때 (예 : 대화 대화) 비싼 작업입니다. – alexgophermix
일부 테스트를 마친 후에는 NSFetchedResultsController의 NSManagedObjectContext를 잠글 필요가 있으므로 cellForRowAtIndexPath가 NSFetchedResultsController를 읽을 때 업데이트되지 않았는지 확인해야합니다. 누구나 확인할 수 있니? – CodeFlakes