NSUndoManager는 동일한 실행 루프에서 발생하는 호출을 함께 그룹화합니다.문서로드시 NSUndoManager 그룹화 호출 사용 안 함
실행 취소 기록이 포함 된 문서를로드하려고합니다.
이와 같이 문서를 만들고 하나씩 호출을 적용합니다. 그러나이 모든 것이 매우 빠르게 추가되어 단일 실행 취소가 발생합니다.
NSUndoManagers runloop 또는 다른 것을 변경하여 다른 실행 취소 호출을 얻을 수있는 방법이 있습니까?
NSUndoManager는 동일한 실행 루프에서 발생하는 호출을 함께 그룹화합니다.문서로드시 NSUndoManager 그룹화 호출 사용 안 함
실행 취소 기록이 포함 된 문서를로드하려고합니다.
이와 같이 문서를 만들고 하나씩 호출을 적용합니다. 그러나이 모든 것이 매우 빠르게 추가되어 단일 실행 취소가 발생합니다.
NSUndoManagers runloop 또는 다른 것을 변경하여 다른 실행 취소 호출을 얻을 수있는 방법이 있습니까?
은 당신이 당신의 호출을 추가 한 후 다시 최상위 그룹과 개방을 닫는 해봤 내가 groupsByEvent을 비활성화하고 내 자신의 beginUndoGrouping을 만드는 시도했지만 작동하지 않는 것? 예컨대이 :
undoManager.endUndoGrouping()
// add your undo invocations
undoManager.beginUndoGrouping()
닫을 최상위 그룹이 없으므로 해당 메소드로 크래시가 발생합니다. – Chris
그것은 내가 내 "추가"작업의 모든 주위에 beginUndoGrouping()와 endUndoGrouping()를 포장해야 할 것 같다, 나는이 비록 올바른 행동을 느끼는 경우 확실하지 않다. 내 생각에 최상위 레벨 인 beginUndoGrouping은 실행 취소 관리자에 대한 모든 후속 "추가"에 영향을 주어야합니다 ... – Chris