UITextField
複数のオブジェクトを持つビューに取り組んでいます。ビュー コントローラーは として機能し、表示されているレコードを保存して検証するメソッドをUITextFieldDelegate
実装しました。(BOOL)textFieldShouldEndEditing:(UITextField *)textField
ユーザーがアイテムの編集後に [完了] ボタンをクリックし、保存/検証が失敗した場合、UIAlertView
が表示され、ユーザーはUITextField
検証に失敗した にとどまります。
私の問題はこれです-ユーザーが別のsUITextField
への保存/検証に失敗するからクリックすると、メソッドが複数回呼び出され、複数回ポップアップします。UITextField
(BOOL)textFieldShouldEndEditing:(UITextField *)textField
UIAlertView
(BOOL)textFieldShouldEndEditing:(UITextField *)textField
ユーザーがキーボードの [完了] をクリックすると が 1 回呼び出されるのに、別の をクリックすると複数回呼び出されるのはなぜUITextField
ですか?
これが私のコードです:
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField {
NSLog(@"textFieldShouldEndEditing called by textField with text=%@", textField.text);
currentItem.nameOrNumber = nameOrNumber.text;
// Try to save the managed object.
NSError *error = nil;
if (![[currentItem managedObjectContext] save:&error]) {
UIAlertView *errorAlert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Uh Oh!",@"")
message:[error localizedDescription]
delegate:self
cancelButtonTitle:NSLocalizedString(@"OK",@"")
otherButtonTitles:nil];
[errorAlert show];
[errorAlert release];
shouldEnd = NO;
}
return shouldEnd;
}