2
나는 흔들어서 되돌리기를 지원하는 CoreData 기반 애플리케이션이 있습니다. 이것은 현재 정상적으로 작동하고 있지만 장치를 흔들면 NSUndoManager가 일반적으로 무료로 제공하는 일반적인 실행 취소 프롬프트를 표시하지 않고 즉시 실행이 취소됩니다.CoreData 앱에서 흔들어서 실행 취소하지만 실행 취소/다시 실행 프롬프트가 표시되지 않음
나는 "취소 아키텍처"문서에서 "아이폰에서 실행 취소 사용"을 읽고 생각했습니다
- 이
canBecomeFirstResponder
을 구현viewDidAppear
- 가 제작에 뷰 컨트롤러
becomeFirstResponder
을YES
- 를 반환 보기 컨트롤러
resignFirstResponder
inviewDidDisappear
- 보기 컨트롤러에서
self.undoManager
을 읽기/쓰기로 재 지정 NSUndoManager
을 만들고UIViewController
init
방법으로self.undoManager
을 설정합니다 (확인 중입니다).managedObjectModel
에 대한 설정자에서self.managedObjectModel.managedObjectContext.undoManager
에서self.undoManager
으로 설정하십시오. 다시 말하지만, 저는 이것이 전화 받기 시작했다는 것을 확인했습니다. 이 작업을 수행하지 않으면 실행 취소가 전혀 작동하지 않습니다.
문제 해결 이미 시도했다 :
- 검사가 취소 접근
self.undoManager
경우 확인 - 호출되고
- 이
canBecomeFirstResponder
을 확인 (I 되돌릴 내 managedObjectModel 변경 참조) 실제로 작업에 않습니다 실행 취소 조작 중 호출됩니다 (그렇지 않은 경우).
그래서 제 질문은 다음과 같습니다
- 어떤 상황에서 작업을 취소하지만, 실행 취소 메시지가 표시되지 않습니다?
- 다음 문제를 해결하기 위해 무엇을 시도 하시겠습니까?