Mac OS X Cocoaアプリケーションでは、Shared User Defaults Controllerにバインドされたテキストフィールドを持つアプリケーションモーダルダイアログがあります。テキストフィールドを編集してから、OKボタンを押す前にタブをタップすると、すべてが正常に機能します。しかし、フィールドの編集を開始してReturnキーを押してOKをトリガーすると、フィールドの古い値はNSUserDefaultsに残ります。ココアでモーダルダイアログを閉じる前にテキストフィールドを強制的に読み取る
したがって、編集が「不完全」である場合、変更されたフィールドがバウンド値に影響するようにするにはどうすればよいですか?
ドキュメントをよく読んでから、ダイアログを閉じる前に各テキストフィールドに対してNSControlのvalidateEditingメソッドを呼び出すことができると思いますが、もっと簡単な方法が必要です。
- (IBAction)startTimerDialogStartButtonWasClicked:(id)sender {
[self closeModalDialog:sender];
// Then, call methods that read values from NSUserDefaults
// ...
}
処理しようとしている場合に代理人が通知を受け取るのですか? –