1
다음 단계를 수행하면 NSFetchedResultsController에 오류가 발생합니다.NSFetchedResultsController 충돌
- NSFetchedResultsController 뒷받침 TableView에 첫 번째 요소를 추가하려고합니다.
- 임시 MO 개체를 만들고 새 개체를 추가하는 모달보기 창을 표시합니다.
- 시트 추가 (모달 뷰 컨트롤러)에서 취소 버튼을 눌러 새 요소를 버립니다.
- 취소 단추의 CancelAction 콜백 단추에서 만든 새 임시 개체를 삭제합니다.
- 여기까지의 코드는 Core Data 용 Apple 샘플 코드와 정확히 같습니다. 추가 시트를 닫은 후에 [tableView reloadData]에 대한 호출 만 있으면됩니다.
- NSFetchedResultsController의 잘못된 섹션 수와 관련되어 있기 때문에 첫 번째 요소를 추가하려고하면 충돌이 발생합니다.
이로 인해 아래에 오류가 발생합니다. reloadData에 대한 중복 호출을 제거하면 충돌이 표시되지 않습니다. Recipe 샘플 코드 데이터에 reloadData 호출을 추가하면 충돌이 발생합니다.
NSFetchedResultsController의 알려진 문제점입니까? 22 :
2009-09-13 18
45.600 레시피 [14,926 : 20B] * 의한 캐치되지 않는 예외 'NSRangeException'이유 응용 프로그램 종료 '* - [NSCFArray objectAtIndex :] 인덱스 (0)의 경계를 넘어 당신은 자신에 의해 발견로서 당신은 아마도 NSFetchedResultsController 위임 방법을 사용하고 있기 때문에 (0) '
NSFetchedResultsController에 대한 대리인을 설정했지만 이러한 기능이 아직 구현되지 않았습니다. 대리인을 제거하면 문제가 사라집니다. 그래서 이것은 행동을 확인합니다. NSFetchedResultsController에 대해 API 문서보다 자세히 설명하는 문서가 있습니까? 나는이 행동이 거기에서 언급 된 것을 보지 못했다. 제게 알려 주시고 모든 도움에 감사드립니다. – siasl
불행히도, 내 지식으로는 API 이외의 다른 문서는 없습니다 (적어도 관찰 된 동작과 관련된 다른 문서는 없습니다). 제가 말한 것은 제 개인적인 경험에 근거합니다. –