Iphone UITextField-辞职FirstResponder失败

Iphone UITextField-辞职FirstResponder失败,iphone,uitextfield,ios5,exc-bad-access,resignfirstresponder,Iphone,Uitextfield,Ios5,Exc Bad Access,Resignfirstresponder,我最近更新了XCode(4.2版iOS5 SDK),现在我的应用程序每次使用“辞职第一响应者”时都会抛出EXC_BAD_访问 我熟悉内存管理,检查之前没有发布任何内容。。。疯狂的部分是“成为第一反应者”会起作用 工作罚款: if(_TextField==input){ [inputPassWord becomeFirstResponder]; } else { [input becomeFirstResponder]; } 失败: if(_TextField==input){

我最近更新了XCode(4.2版iOS5 SDK),现在我的应用程序每次使用“辞职第一响应者”时都会抛出EXC_BAD_访问

我熟悉内存管理,检查之前没有发布任何内容。。。疯狂的部分是“成为第一反应者”会起作用

工作罚款:

if(_TextField==input){
    [inputPassWord becomeFirstResponder];
}
else
{
    [input becomeFirstResponder];
}
失败:

if(_TextField==input){
        [inputPassWord becomeFirstResponder];
    }
    else
    {
      [_TextField resignFirstResponder];
    }
知道会是什么吗


谢谢

不确定这是否有帮助,但第二个示例中的逻辑正确吗

第一个看起来像是检查哪个TextField做了什么,然后在另一个上设置firstResponder

第二个似乎什么也不做,因为如果输入不是要测试的文本字段,它只调用
[input resignFirstResponder]

您是否尝试过在第二个示例中切换两行代码,或使用
=而不是
==
。也许值得一试


虽然我不认为这会引起您的问题,但我对这一点很陌生。

是否可能输入不是当时的第一响应者?不要这样认为
if(_TextField==input){[inputPassWord becomeFirstResponder];}else{if([_textfieldisfirstresponder]){NSLog(@“YES”);[_textfieldresignfirstresponder];}/[inputPassWord resignFirstResponder];}
正在记录“YES”那么失败可能是becomeFirstResponder导致了它被保留?您是否尝试过在resignFirstResponder行之后直接插入NSLog()以查看这是否是失败?或者,如果这是通过一系列子视图进行的某种迭代,您确定_TextField实际上是一个TextField吗?我的意思是,如果你用“输入”而不是“文本字段”来运行它,它会失败吗。。。在if/else块工作后立即注销。。。我猜当它离开
-(BOOL)TextField应该返回:(UITextField*)\u TextField
时出错了,明白了!原来我是从以下位置返回“是”:(BOOL)TextField shouldlreturn:(UITextField*)\u TextField
,因为我没有使用常规行为,所以它是不合适的。回答“不”就像一个咒语!谢谢大家!