Ios 由于取消分配实例,应用程序崩溃

Ios 由于取消分配实例,应用程序崩溃,ios,Ios,我有两个屏幕,一个用于登录: 类名为LoginViewController。截图是 它由两个文本字段组成,用户名和密码 单击忘记密码:此屏幕打开此屏幕的类为ForgotPasswordViewController 点击DOB文本字段时,会出现一个日期选择器,从中选择日期。现在,如果我按下后退按钮,就会出现登录屏幕。到目前为止一切都很好。现在,如果我点击用户或密码文本字段,那么应用程序将崩溃并记录此日志 2013-11-13 13:55:53.582 mRx[4684:60b]***-[Forg

我有两个屏幕,一个用于登录: 类名为LoginViewController。截图是

它由两个文本字段组成,用户名和密码

单击忘记密码:此屏幕打开此屏幕的类为ForgotPasswordViewController

点击DOB文本字段时,会出现一个日期选择器,从中选择日期。现在,如果我按下后退按钮,就会出现登录屏幕。到目前为止一切都很好。现在,如果我点击用户或密码文本字段,那么应用程序将崩溃并记录此日志

2013-11-13 13:55:53.582 mRx[4684:60b]***-[ForgotPasswordViewController响应选择器:]:消息发送到解除分配的实例0x15d7b510

我不知道是什么导致了这次车祸。请提出一些解决办法。我已经做了2天了,但仍然没有找到解决这个问题的办法。请评论,如果你需要任何其他有关这方面的信息

错误跟踪的屏幕截图如下:

请帮忙

将日期选择器带入文本字段的代码如下:

       #pragma mark - TextField Delegate Methods
-(无效)textFieldDidBeginEditing:(UITextField*)textField{ self.txt\u currentFocusedTextField=textField; [[AppDelegate sharedInstance]添加工具栏ForkeyBoard: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
#导入
#导入“AbstractActionSheetPicker.h”
@PasswordViewController的接口:UIViewController
@属性(强,非原子)UITextField*txt\U CurrentFocusedTextField;
@属性(强,非原子)IBOutlet UITextField*txt\u用户名;
//@属性(弱,非原子)IBOutlet UITextField*txt\u lastname;
@属性(强,非原子)IBOutlet UITextField*txt\u DOB;
@属性(强,非原子)IBOutlet UITextField*txt\u phone;
@属性(强,非原子)IBOutlet UITextField*txt\u-zip;
@属性(强,非原子)IBOutlet UITextField*txt\u newPassword;
@属性(强,非原子)IBUIButton*btn_保存;
@属性(强,非原子)IBUIScrollView*scrollview;
@属性(非原子,强)AbstractActionSheetPicker*actionSheetPicker;
@属性(非原子,保留)NSDate*选定日期;
-(作废)放弃密码请求;
@结束

看起来您的
ForgotPasswordViewController
正在观察一个NSNotification,可能
UIKeyboardWillShowNotification
,当它从导航堆栈中弹出时,您没有将其作为观察者从
NSNotificationCenter
中删除。 问题是通知中心试图通知已解除分配的视图控制器。
使用
-(void)removeObserver:(id)observer name:(NSString*)aName对象:(id)在
ViewDidEnglish:
dealloc
中发布.h文件的一些代码。属性应该被保留,但它不是,但是没有代码很难猜测。我假设您在项目中使用了ARC。但是关于什么,这里没有调用任何代码,它只是在下一个屏幕上通过segue加载,然后单击后退按钮返回登录屏幕。然后点击文本字段会导致应用程序崩溃。后退按钮的代码是这样的。我的整个应用程序都是全球化的。当日期选择器出现时,DOB TEXTFIELD的代码如下:UITextField是否声明为强属性?谢谢,但是观察者的名称以及名称和对象应该是什么。我的意思是我应该在这些参数中传递什么,以及如何调用这个方法。你能给我看看吗。如果您使用
-(void)addObserver:(id)observer selector:(SEL)aSelector name:(NSString*)aName object:(id)anObject添加视图控制器作为观察者,将非常有帮助?如果是,则该调用中传递的参数。如果没有,那么这不是你的问题。不,我没有在我的代码中添加我的视图控制器作为观察者,但我认为问题只是由于NSN通知。你现在能提出解决这个问题的建议吗