2010-06-10 4 views

답변

1

-processPendingChanges을 사용한 두 경우에는 실행 취소 그룹화와 실행 취소가 일시적으로 해제되었습니다.

예를 들어, 나는 그룹 (다른 사람 또는 데이터 모델에 다른 변경 사항의 삭제로 이어질 수) 특정 항목의 삭제를 포함한 모든 핵심 데이터 작업을 원했다, 그래서 나는 다음과 같은 코드를 사용 :

[[[targetOperationController managedObjectContext] undoManager] beginUndoGrouping]; 
[targetOperationController deleteSelectedOperation]; 
[[targetOperationController managedObjectContext] processPendingChanges]; 
[[[targetOperationController managedObjectContext] undoManager] endUndoGrouping]; 

-deleteSelectedOperation 메서드의 작업에 의해 트리거 된 모든 데이터 모델 변경이 함께 그룹화되도록 보장하기 위해 모두 -processPendingChanges을 사용하여 그룹화 실행 취소 그룹에 모두 등록되어 있는지 확인합니다.

실행 취소 그룹화를 -disableUndoRegistration-enableUndoRegistration으로 바꾸면 실행 취소를 위해 모든 데이터 모델 변경 사항을 무시하는 것과 비슷한 작업을 수행 할 수 있습니다.

관련 문제