iPhone에서 코어 데이터를 사용하여 실행 취소 지원을 구현하려고하는데 몇 가지 문제가있었습니다.코어 데이터로 관리 취소
현재 관리 개체가 두 개 설정되어 있지만 속성을 변경할 때 이러한 변경 내용은 실행 취소 관리자에 의해 기록되지 않습니다. 내 이해에서 핵심 데이터가 자동으로 설정되어 있어야하고 내가 관리 개체의 변경, 생성 및 삭제에 대한 기본적인 실행 취소 및 다시 실행 지원을 가질 수 있어야합니다.
개체를 변경하여 실행 취소 관리자가 기록하도록하는 특별한 방법이 있습니까? 또는 각 변경 사항에 대해 실행 취소 작업을 등록해야합니까?
또한 애플리케이션이 특정 개체를 편집하기위한 상세보기로 슬라이드한다고 가정합니다. 취소 버튼을 누르면 모든 변경 사항을 취소 할 수 있습니다. 여기에서 그룹핑을 취소 할 수 있습니까? 그룹을 커밋하는 것과 다른 실행 취소 관리자가 세부적인보기에서보다 미세한 작업을 관리하는 것과 실행 취소 관리자 (관리 대상 개체 컨텍스트에 포함 된 관리자)를 하나만 사용하는 것의 차이점은 무엇입니까?
감사합니다.
감사 벤 +1, 아름다운 간결한 대답 –
나는 내 코드에서 실행 취소 관리자의 생성 또는 설정이 아직 당 작업을 취소하지 않는다 fectly. 관리 객체 컨텍스트에는 이미 실행 취소 관리자가 있습니다. 모두가해야 할 일은 윈도우 델리게이트가 다음과 같은 것을 구현하도록하는 것입니다 :'- (NSUndoManager *) windowWillReturnUndoManager : (NSWindow *) window { return [[DB managedObjectContext] undoManager]; }'. –
@ IvanVučica이 사실은 OSX 프레임 워크로 작업 할 때 그렇습니다.하지만 iOS 프레임 워크로 작업 할 때 NSWindow와 같은 것은 없으며 가벼운 가중치 때문에 관리 대상 객체에는 실행 취소 관리자가 제공되지 않습니다. – Intentss