如何判断编辑了哪个NSTextField?

时间:2012-12-17 12:36:34

标签: cocoa nstextfield nstextview undo

我的NSDocument子类采用NSTextFieldDelegate。文档窗口包含多个NSTextField实例(所有实例都设置为文档类的出口)。当用户编辑文本字段时,我希望通知我的文档。但是NSTextFieldDelegate协议中的所有方法都继承自NSTextViewDelegate,因此在其参数 NOT NSTextField实例中传递NSText *实例。这同样适用于通知:

- (void) controlTextDidChange:(NSNotification*) notification

那么,我如何找出正在编辑的许多NSTextField实例

注意

我需要使用文档的撤消管理器正确注册undos。我试过实施 - (NSUndoManager *)undoManagerForTextView:(NSTextView *)aTextView 但这似乎只适用于NSTextView s, NOT NSTextField s。

1 个答案:

答案 0 :(得分:3)

您可以NSTextField作为[notification object]的引用。来自NSControlTextDidChangeNotification的文档:

  

通知对象是发布的NSControl对象   通知。

实际控制子类将是您的NSTextField