resignFirstResponder/endEditing 导致访问错误

Posted

技术标签:

【中文标题】resignFirstResponder/endEditing 导致访问错误【英文标题】:resignFirstResponder/endEditing causes bad acces-s- 【发布时间】:2016-01-11 09:37:31 【问题描述】:

我正在创建一个应用程序,该应用程序从 Web 服务提供的数据动态创建表单。因此,每当我需要显示一个页面时,我都会以编程方式添加一个视图,该页面可能包含问题标签、答案文本字段和cmets 的文本区域。我的问题是我在文本字段委托方法中对文本字段应用了验证。当我尝试使用返回键关闭键盘时,会导致访问错误并显示以下消息

*** -[UITextField isKindOfClass:]:消息发送到已释放实例 0x7fb9f8f56390。

委托方法如下:

-(BOOL) textFieldShouldReturn:(UITextField *)textField
    NSLog(@"textFieldShouldReturn");
    isKeyBoardPresent = NO;

    if([textField becomeFirstResponder])
    [textField resignFirstResponder];
    return YES;

我在我的项目中启用了僵尸。我得到了上面的行。但我无法找出问题所在。请帮我解决这个问题。

【问题讨论】:

【参考方案1】:

尝试更改 if 语句:

if([textField becomeFirstResponder]) [textField resignFirstResponder];

到:

if([textField isFirstResponder]) [textField resignFirstResponder];

【讨论】:

以上是关于resignFirstResponder/endEditing 导致访问错误的主要内容,如果未能解决你的问题,请参考以下文章