2015-01-01 2 views
1

NSUndoManager는 동일한 실행 루프에서 발생하는 호출을 함께 그룹화합니다.문서로드시 NSUndoManager 그룹화 호출 사용 안 함

실행 취소 기록이 포함 된 문서를로드하려고합니다.

이와 같이 문서를 만들고 하나씩 호출을 적용합니다. 그러나이 모든 것이 매우 빠르게 추가되어 단일 실행 취소가 발생합니다.

NSUndoManagers runloop 또는 다른 것을 변경하여 다른 실행 취소 호출을 얻을 수있는 방법이 있습니까?

+0

그것은 내가 내 "추가"작업의 모든 주위에 beginUndoGrouping()와 endUndoGrouping()를 포장해야 할 것 같다, 나는이 비록 올바른 행동을 느끼는 경우 확실하지 않다. 내 생각에 최상위 레벨 인 beginUndoGrouping은 실행 취소 관리자에 대한 모든 후속 "추가"에 영향을 주어야합니다 ... – Chris

답변

0

은 당신이 당신의 호출을 추가 한 후 다시 최상위 그룹과 개방을 닫는 해봤 내가 groupsByEvent을 비활성화하고 내 자신의 beginUndoGrouping을 만드는 시도했지만 작동하지 않는 것? 예컨대이 :

undoManager.endUndoGrouping() 

// add your undo invocations 

undoManager.beginUndoGrouping() 
+0

닫을 최상위 그룹이 없으므로 해당 메소드로 크래시가 발생합니다. – Chris