2012-12-17 2 views
0

NSDocument 하위 클래스는 NSTextFieldDelegate을 사용합니다. 문서 창에 여러 개의 NSTextField 인스턴스가 포함되어 있습니다 (모든 설정이 문서 클래스의 아웃렛으로 설정 됨). 사용자가 텍스트 필드를 편집 할 때 내 문서를 알리고 싶습니다. 그러나 NSTextFieldDelegate 프로토콜의 모든 메서드는 NSTextViewDelegate에서 상속되므로 매개 변수에 이 아닌 NSTextField 인스턴스가 NSText * 인스턴스를 전달합니다. 같은 알림에 적용NSTextField를 편집 한 방법은 무엇입니까?

- (void) controlTextDidChange:(NSNotification*) notification 

편집되고 그래서, 어떻게 많은 NSTextField있는 인스턴스의을 찾을 수 있습니까?

참고

나는 문서의 실행 취소 관리자를 사용하여 제대로 실행 취소를 등록해야합니다. 나는 (NSUndoManager *) undoManagerForTextView : (NSTextView *) aTextView 을 구현하려고 시도하지만 이것은 NSTextView s, 가 아닌NSTextField s에서만 작동하는 것으로 보입니다.

답변

3

NSTextField에 대한 참조를 [notification object]으로 가져올 수 있습니다. NSControlTextDidChangeNotification에 대한 문서에서 :

통지 객체는 통지를 포스팅 NSControl 객체입니다.

실제 제어 서브 클래스는 NSTextField입니다.

+0

감사합니다. 시도해 보겠습니다. 알림의 userInfo 만 확인했는데 생각하지 않았습니다! –

관련 문제