2015-10-25 38 views
0

我已經實現了NSComboBoxDelegate:NSComboBox - 我如何實現2個不同組合框的代理?

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

} 

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

} 

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

} 

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

,但我有2個組合框 - 帶2種不同的功能。 有沒有辦法知道哪個組合框在運行時不是,並相應地執行?

還是我必須在外面實施2個不同的代表?如果是這樣 - 是否有一種簡單的方法將信息傳回我的視圖控制器?

有沒有辦法獲得有關通知的發件人的信息?

回答

3

對於文本更改(controlTextDidEndEditing,controlTextDidChange ...),請參閱以下示例。

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

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

    } 
} 

至於選擇更改,您需要爲各個對象創建IBAction連接。

0

爲什麼不使用標籤?你可以給它們中的一個分配一個標籤101,對另一個分配一個標籤101,然後當它們觸發委託時,你只需要有一個if子句來檢查對象的標籤。

1

通知對象([notification object]notification.object)將是發送通知的組合框。

相關問題