복붙노트

[SWIFT] 앱은 jQuery과에 표시되고 업데이트 코어 데이터 모델 후 충돌

SWIFT

앱은 jQuery과에 표시되고 업데이트 코어 데이터 모델 후 충돌

해결법


  1. 1.indexPath은 삭제 및 삽입을 적용하기 전에 색인입니다; 삭제 및 삽입이 적용된 후 newIndexPath는 인덱스입니다.

    indexPath은 삭제 및 삽입을 적용하기 전에 색인입니다; 삭제 및 삽입이 적용된 후 newIndexPath는 인덱스입니다.

    후에 만 - - 그것은 전에 삽입과 삭제했다 당신이 상관 없어 업데이트 이처럼 newIndexPath하지 indexPath를 사용합니다. 이 같은 시간에 때 당신에게 업데이 트와 삽입 일 (또는 업데이트 및 삭제) 할 수 있습니다 충돌을 해결합니다.

    가 삽입 전에 어디 그것이 삽입과 삭제 후에 삽입 할에서 이동 어디로 이동을 위해 대표는 말하고있다. 이것은 당신이 이동하고 삽입이있을 때 도전이 될 (또는 이동 및 삭제) 할 수 있습니다. 나는 컨트롤러에서 모든 변경 사항을 저장하여이를 수정 : didChangeObject : atIndexPath : forChangeType : newIndexPath을 : 세 가지 indexPath 배열에 : 삽입, 삭제 및 업데이트. 당신은 움직임이 모두 삽입 배열하고 삭제 배열에 대한 항목을 추가 얻을 때. controllerDidChangeContent에서 : 정렬 삭제 배열 하강 및 삽입 배열 상승. 그런 다음 변경 사항을 적용 - 먼저 삭제 한 후 삽입 한 후 업데이트합니다. 이것은 당신이 동시에 이동 및 삽입 (또는 이동 및 삭제)에있을 때 캔이 발생하는 것이 충돌을 해결합니다.

    이 부분에 대해 동일한 원칙이다. 섹션 저장을 배열로 변경하고 다음 순서로 변경 적용 : 삭제 (내림차순)를 sectionDelete (내림차순), sectionInserts (오름차순), 삽입 (오름차순), 업데이트 (순서). 섹션 이동할 수 없습니다 또는 업데이트.

  2. from https://stackoverflow.com/questions/41789817/app-crashes-after-updating-coredata-model-that-is-being-displayed-in-a-uitablevi by cc-by-sa and MIT license