NSFetchedResultsController를 사용하여 1 개월 이상 앱을 제작하고 있으며 3.1.2 SDK에서 앱을 테스트하고있었습니다. poblem은 내 응용 프로그램에서 NSFetchedResultsController를 사용하고 SDK의 3.1.2 버전에서 작업하고 있었기 때문에 이제는 내 클라이언트가 3.0 버전과 호환되도록해야하고 마감일이 거의 다되었다고합니다.NSFetchedResultsController가 나를 미치게합니다.
하지만 contoller가 처리하는 객체를 변경할 때마다 충돌이 발생합니다. 응용 프로그램이 매우 이상한 오류로 인해 충돌합니다.
섹션의 마지막 개체를 제거 할 때와 변경 사항으로 인해 개체가 다른 섹션을 좋아할 때 문제가 발생합니다.
나는 Dave Mark와 Jeff LaMarche의 "iPhone 3 Development Tackling iPhone SDK 3"샘플 코드를 사용하고 있습니다. link text
다음은 응용 프로그램이 충돌 할 때의 콘솔 출력 샘플입니다.
*** 캐치되지 않은 예외 'NSInternalInconsistencyException'으로 인해 앱 종료 중, 이유 : '잘못된 업데이트 : 잘못된 섹션 수입니다. 업데이트 (1) 후 테이블 뷰에 포함 된 섹션 수는 업데이트 (2) 이전의 테이블 뷰에 포함 된 섹션 수와 같거나 삽입 또는 삭제 된 섹션 수를 더한 값 또는 빼기 값이어야합니다. 삭제됨). ' 2010-03-14 16 : 23 : 29.758 Instaproofs [5879 : 207] 스택 (807,902,715 , 7,364,425, 807,986,683, 811,271,572 , 815,059,090, 815,007,323 , 211,023, 4,363,331 , 810,589,786, 807,635,429 , 810,579,728, 3,620,573, 3,620,227 , 3,614,682, 3,609,719 , 27,337, 810,595,174, 807,686,849, 807,683,624 , 839,142,449, 839,142,646 , 01,235,814752238 )
NSFetchedResultsController가 버그가 있다는 것을 알고 있다면 나는 그것을 사용하지 않을 것입니다.
그래서 기본적으로 3.0 이상의 SDK에서 정상적으로 작동하려면 NSFetchedResultsControllerDelegate가 필요합니다.
누군가 내가 잘못하고있는 것을 알아내는 데 도움이된다면 생명의 은인이 될 것입니다.
참고 : 알고있는 NSFetchedResultsController 3.0 버전에는 버그가 하나 있으며 클래스 참조 설명서에 언급되어 있습니다. 버그는 sectionNameKeyPath를 지정하지 않는 경우에만 문제가됩니다. 보안을 위해 문서에 제공된 해결 방법을 구현하는 것이 좋습니다. – glorifiedHacker
위의 게시물은 매우 유용합니다. 나는 원래의 포스터와 같은 문제를 안고있다. (NSFetchedResultsController *) 컨트롤러 didChangeObject : (ID) anObject를 atIndexPath은 (NSIndexPath *) indexPath \t forChangeType (NSFetchedResultsChangeType) \t newIndexPath 입력 (NSIndexPath (공극) 제어기 - I는 어떤 변경 후 데이터를 재로드 것을 발견 *) newIndexPath는 시간의 100 %가 아니지만 대부분의 시간 동안 작동합니다. 나는 이것이 얼마나 중요한지 모른다. 그러나이 게시글을 가로막는 모든 사용자에게 도움이되기를 바랍니다. –