0

我已经实现了 NSComboBoxDelegate:

-(void)comboBoxSelectionDidChange:(NSNotification *)notification{

}

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

}

- (void)comboBoxWillPopUp:(NSNotification *)notification{

}

- (void)comboBoxWillDismiss:(NSNotification *)notification{
}

但我有 2 个组合框 - 具有 2 个不同的功能。有没有办法知道哪个组合框不在运行中,并采取相应的行动?

还是我必须在外面实施 2 个不同的代表?如果是这样 - 有没有一种简单的方法可以将信息传输回我的视图控制器?

有没有办法获取有关通知发件人的信息?

4

3 回答 3

3

对于文本更改(controlTextDidEndEditing、controlTextDidChange...),请参见以下示例。

- (void)controlTextDidEndEditing:(NSNotification *)obj {
    if ([obj object] == combobox1) {

    }
    else if ([obj object] == combobox2) {

    }
}

至于选择更改,您需要为各个对象创建 IBAction 连接。

于 2015-10-25T21:56:28.650 回答
1

通知对象([notification object]notification.object)将是发送通知的组合框。

于 2015-10-25T17:16:40.023 回答
0

为什么不使用标签?您可以将标签 101 分配给其中一个,将 102 分配给另一个,然后当他们触发委托时,您只需要一个 if 子句来检查对象的标签。

于 2015-10-25T17:09:43.857 回答