今は私の辞書に文字列値とNSTextFieldを含む辞書があります。しかし、この値を更新するには、ボタンをクリックして更新コードを実行する必要があります。テキストフィールドの値が変更されるたびに動的に更新させるにはどうすればよいですか?CocoaはNSTextFieldの辞書値を自動更新します
2
A
答えて
2
Cocoa Bindingsをご覧ください。
それらは、間にすべてのグルーコードを記述することなく、あなたのビュー(NSTextField)をモデル(辞書)と同期させるように設計されています。彼らは学ぶのがやや難しいですが、一度理解すればとても便利です。
あなたの場合、NSTextFieldの「値」バインドをコードのプロパティにバインドします。
- (void)controlTextDidChange:(NSNotification *)aNotification
辞書に値を変更する:
代替はNSTextFieldDelegateを設定し、実行することです。たとえば、
- (void)controlTextDidChange:(NSNotification *)aNotification {
[myDictionary setValue:[myTextField stringValue] forKey:@"MYDictionaryKey"];
}
ユーザーがNSTextFieldのテキストを変更するたびに、テキストフィールドがこのコールバックをそのデリゲートに送信します。このようにして、辞書が常に画面に表示されるものと同じ値を持つことを確認できます。
あなただけのユーザーが編集を行った場合、変更を有効にする場合は、実装したい:ココアバインディングは、iOS版では使用できないことを
- (void)controlTextDidEndEditing:(NSNotification *)aNotification
関連する問題
- 1. Cocoa NSTextField行間
- 2. 更新辞書
注意、唯一のMac OS X – JoshL