2010-06-08 5 views
0

애플은 -detectConflictsForObject에 대해 말한다 : 실제로 코어 데이터가 충돌을 어떻게 감지합니까?

저장의 다음의 호출에 경우 : 객체가 영구 저장소에 수정 된, 저장이 실패합니다. 이 은 변경되지 않은 개체 에 대해 낙관적 잠금을 허용합니다. 충돌 감지 은 항상 변경되거나 삭제 된 개체에서 수행됩니다.

그렇다면이 의미는 무엇입니까? 단순히 관리 대상 개체를 수정 한 다음 컨텍스트를 저장하면 충돌 검색이 항상 발생합니다. 이 충돌 탐지는 "레코드"의 타임 스탬프를 단순히 비교하여 "새로운"데이터가 실제로 "오래된 것"인지 여부를 확인합니까? 그게 갈등이야?

답변

1

아니요. 충돌이 없습니다. 메모리의 오브젝트가 마지막으로 새로 고쳐진 후 디스크에서 데이터가 변경되면 충돌이 발생합니다. 내부 구현은 정의되지 않았으며 구현 세부 사항도 정의되어 있지 않습니다.

우리가 염려해야 할 것은 디스크의 데이터가 저장되는 컨텍스트 외부에서 변경된 경우에만 발생한다는 것입니다.

관련 문제