0

私は小さなステータスバーアプリを持っています。ウィンドウを閉じると保存され、アプリを終了すると保存されますが、テーブルビューで行を編集したり、配列コントローラーに何かを追加したりするたびに保存されるわけではありません。少なくとも「Enter」ヒットごと、または編集を確認するときに saveAction を呼び出す方法はありますか? 保存ボタンは私が探しているものではありません。前もって感謝します。

4

3 に答える 3

0

ビューコントローラーをテキストフィールドとテキストビューの両方のデリゲートとして設定するだけです。iOS 環境では、プロトコル UITextFieldDelegate および UITextViewDelegate をビュー コントローラーのヘッダー ファイルに追加し、それぞれ UITextField および UITextView のメソッドを実装し- (void)textFieldDidEndEditing:(UITextField *)textFieldます- (void)textViewDidEndEditing:(UITextView *)textView

UITextField (iOS) の代替として、UITextField- (BOOL)textFieldShouldReturn:(UITextField *)textFieldで「enter」キーが押されるたびに呼び出されるという名前のデリゲート メソッドがあります。

Mac OSX 環境では、View Controller ヘッダー ファイルに適切なプロトコルを追加し (NSTextView の場合は NSTextDelegate を追加し、NSTextField の場合は NSControlTextEditingDelegate を追加します)、適切なメソッドを実装します: -(void)textDidChange:(NSNotification *)notificationNSTextView および- (BOOL)control:(NSControl *)control textShouldEndEditing:(NSText *)fieldEditorNSTextField の場合。

これらのメソッドで必要なあらゆる種類の検証を実行し、[myMOC save:&error];戻る前に呼び出しを行うことができます。

于 2013-06-21T14:22:18.073 に答える