我有以下委托方法,它在可编辑字段中的文本更改时进行监听:
-(void)controlTextDidEndEditing:(NSNotification *)aNotification{
说,我声明了两个 NSTextField,我怎样才能找出生成通知的 NSTextField?我想在一个文本字段的文本完成编辑时执行一些代码,而在另一个文本字段的代码完成编辑时执行其他代码。
换句话说,我怎样才能获得发出通知的文本字段的名称?
谢谢!
我有以下委托方法,它在可编辑字段中的文本更改时进行监听:
-(void)controlTextDidEndEditing:(NSNotification *)aNotification{
说,我声明了两个 NSTextField,我怎样才能找出生成通知的 NSTextField?我想在一个文本字段的文本完成编辑时执行一些代码,而在另一个文本字段的代码完成编辑时执行其他代码。
换句话说,我怎样才能获得发出通知的文本字段的名称?
谢谢!
[aNotification object] 是发布通知的 NSControl(或 NSControl 子类)对象。
您可以使用标签并获取对象的标签字段,但首先您必须强制将对象从 Any 向下转换为 NSTextField 以便您可以访问标签属性(“任何”的对象没有“标签”属性)像这样:
let object = aNotification.object as! NSTextField
然后你可以检查标签:
if object.tag == 99 { do something }
这就是我在我现在正在处理的一些代码中解决问题的方式。