Cocoa - controlTextDidEndEditing问题

时间:2012-04-04 09:07:10

标签: objective-c cocoa

我有以下委托方法,该方法在可编辑字段中更改文本时正在侦听:

- (void)controlTextDidEndEditing:(NSNotification *)aNotification {

说,我声明了两个NSTextFields,如何找出生成通知的NSTextField?我想在一个文本字段的文本完成编辑时执行一些代码,而在另一个文本字段的代码完成编辑时执行其他代码。

换句话说,如何获取发出通知的文本字段的名称?

谢谢!

2 个答案:

答案 0 :(得分:1)

[aNotification object]是发布通知的NSControl(或NSControl子类)对象。

答案 1 :(得分:0)

您可以使用标签并获取对象的标记字段,但首先您必须强制将对象从Any向下转换为NSTextField,以便您可以访问标记属性(“any”的对象没有“标记” “财产”如此:

let object = aNotification.object as! NSTextField

然后你可以查看标签:

if object.tag == 99 { do something }

这就是我现在正在处理的一些代码中解决这个问题的方法。