command patter
[Objective-C] NSInvocation 과 Forward
코코아 앱의 Undo/Redo 기능을 구현하는 부분을 보면, NSUndoManager의 -prepareWithInvocationTarget: 메소드를 사용해서 Undo 동작시에 호출될 메소드를 기록해두는 코드가 있다. 그런데 이 메소드의 원형을 보면 좀 이상한 부분이 있다. 실제로 Undo를 지원하는 기능을 구현하고 있는 간단한 코드를 보자. -(void) getHigher { // undo 관리자에 실행취소를 위한 동작을 등록 [[undoManager prepareWithInvocationTarget:self] getLower]