我剛開始用Cocoa開發OS X,但是我遇到了很多基本問題。可可檢測文本改變
如何檢測從NSTextField更改爲像Java中的onTextChanged()類似的文本?
有人說讓委託,但我不明白委託是什麼,它做了什麼。
我使用Xcode 5.0.2的可可框架。
謝謝,我的英語不好對不起:「(
我剛開始用Cocoa開發OS X,但是我遇到了很多基本問題。可可檢測文本改變
如何檢測從NSTextField更改爲像Java中的onTextChanged()類似的文本?
有人說讓委託,但我不明白委託是什麼,它做了什麼。
我使用Xcode 5.0.2的可可框架。
謝謝,我的英語不好對不起:「(
在類的聲明中加入NSTextFieldDelegate協議:
@interface MyView : NSView <NSTextFieldDelegate>
然後在代碼中設置:
myTextField.delegate = self;
現在你的文本框將向代理髮送通知,並且您可以實現您想要的任何代理功能(請參閱下面鏈接中的NSText委託方法實現)
你說什麼,你現在需要的是實現:
- (void)textDidChange:(NSNotification *)aNotification {
//Do stuff here
}
在-儘管寫代碼,你可以通過有約束力和執行同樣的事情。只需將您的textfield
連接到代表fileowners
。這樣的下面: -
,然後實現此方法不同。所以,沒有必要界定NSTextFieldDelegate
在頭文件,無需通過代碼來設置delegate
在實現文件: -
-(void)controlTextDidChange:(NSNotification *)obj
{
}
嘛,,我得到這個錯誤 '找不到接口聲明「的UIView」的超'我的看法';你的意思是'NSView'?' –
只是編寫NSView而不是UIView,因爲你編程的可可不是可可觸摸 – dehlen
urgh ..我無法理解所有的.... myTextField.delegate返回一個錯誤 –