iphone – resignFirstResponder导致EXC_BAD_ACCESS

我在UITableViewCell上有一个UITextField,在另一个单元格上有一个按钮.

我点击UITextField(键盘出现).

UITextField具有以下方法:

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
        NSLog(@"yes, it's being called");
 owner.activeTextField = textField;
 return YES;
};

owner.activeTextField是(保留,非原子)属性.

问题
当键盘可见时,我将单元格滚出视图.
然后,我单击位于不同单元格上的按钮.按钮调用:

[owner.activeTextField resignFirstResponder]

这会导致EXC_BAD_ACCESS.

任何的想法?细胞绝对是在记忆中.我的猜测是,一旦它消失,它将从视图中删除,其中一个属性(父视图?)变为零,这会导致所述错误.

我对吗?

TL; DR;从视图中删除UITextField时,如何删除键盘(重新签名第一响应者)?

最佳答案 有时候问题可能是另一个层次……检查并确保响应器链中的下一个对象(随后接收到的变为第一个响应消息的对象)不是垃圾.只是一个想法.

点赞