0

ログイン用の 2 つの画面があります。クラス名は LoginViewController です。スクリーンショットはここに画像の説明を入力

ユーザー名とパスワードの 2 つのテキストフィールドで構成されます。

パスワードを忘れた場合: この画面が開きます この画面のクラスは ForgotPasswordViewController です ここに画像の説明を入力

DOB テキストフィールドをタップすると、日付を選択する日付ピッカー ピッカーが表示されます。戻るボタンを押すと、ログイン画面が表示されます。今まですべて順調です。ユーザーまたはパスワードのテキストフィールドをタップすると、アプリがクラッシュし、このログが記録されます

2013-11-13 13:55:53.582 mRx[4684:60b] *** -[ForgotPasswordViewController RespondsToSelector:]: 割り当て解除されたインスタンス 0x15d7b510 にメッセージが送信されました

このクラッシュの原因はわかりません。それに対処する何かを提案してください。私はそれに2日間取り組んできましたが、これに対する解決策を見つけるにはまだ近くありません. これに関する他の情報が必要な場合はコメントしてください。

エラー トレイルのスクリーンショットは次のとおりです。ここに画像の説明を入力

助けてください

日付ピッカーを表示するテキストフィールドのコードは次のとおりです。

       #pragma mark - TextField Delegate Methods

- (void)textFieldDidBeginEditing:(UITextField *)textField{ self.txt_currentFocussedTextField = textField; [[AppDelegate sharedInstance] addToolbarForKeyboard:textField];

if (textField == self.txt_DOB) {
    [textField resignFirstResponder];
    _actionSheetPicker = [[ActionSheetDatePicker alloc] initWithTitle:@"" datePickerMode:UIDatePickerModeDate selectedDate:self.selectedDate minimumDate:Nil maximumDate:Nil target:self action:@selector(dateWasSelected:element:) origin:textField];
    self.actionSheetPicker.hideCancel = NO;
    [self.actionSheetPicker showActionSheetPicker];

}

}

.h ファイルのコードは次のとおりです。

      #import <UIKit/UIKit.h>
    #import "AbstractActionSheetPicker.h"

   @interface ForgotPasswordViewController : UIViewController<UITextFieldDelegate>

     @property (strong,nonatomic) UITextField * txt_currentFocussedTextField;
     @property (strong,nonatomic) IBOutlet UITextField *txt_username;
     //@property (weak,nonatomic) IBOutlet UITextField *txt_lastname;
     @property (strong,nonatomic) IBOutlet UITextField *txt_DOB;
     @property (strong,nonatomic) IBOutlet UITextField *txt_phone;
     @property (strong,nonatomic)  IBOutlet UITextField * txt_zip;
     @property (strong,nonatomic) IBOutlet UITextField * txt_newPassword;


     @property (strong,nonatomic) IBOutlet UIButton *btn_save;

      @property (strong,nonatomic) IBOutlet UIScrollView * scrollview;

      @property (nonatomic, strong) AbstractActionSheetPicker *actionSheetPicker;
      @property (nonatomic, retain) NSDate *selectedDate;

    - (void)forgotPasswordRequest;

      @end
4

1 に答える 1

0

ForgotPasswordViewControllerNSNotification を監視しているように見えますが、ナビゲーション スタックからポップアウトされUIKeyboardWillShowNotificationたときにオブザーバーとして削除していない可能性があります。NSNotificationCenter問題は、通知センターが、既に割り当てが解除されているビュー コントローラーに通知しようとすることです。- (void)removeObserver:(id)observer name:(NSString *)aName object:(id)anObjectviewDidDisappear:またはで使用しdeallocます。

于 2013-11-13T08:37:48.040 に答える