Iphone 辞职UISearchBar时出现问题';第一响应者状态
我的Iphone 辞职UISearchBar时出现问题';第一响应者状态,iphone,uitableview,uisearchbar,exc-bad-access,first-responder,Iphone,Uitableview,Uisearchbar,Exc Bad Access,First Responder,我的UITableView上有一个UISearchBar,还有一个方法-finishsearch,如下所示: - (void)finishSearching { [overlayViewController.view removeFromSuperview]; if ([sb isFirstResponder]) [sb resignFirstResponder]; myTableView.scrollEnabled = YES; } 每次我要停止搜索时
UITableView
上有一个UISearchBar
,还有一个方法-finishsearch
,如下所示:
- (void)finishSearching {
[overlayViewController.view removeFromSuperview];
if ([sb isFirstResponder])
[sb resignFirstResponder];
myTableView.scrollEnabled = YES;
}
每次我要停止搜索时,都会调用此方法。无论是使用“取消”或“搜索”按钮,还是只需点击UITableView
。问题是,当涉及到[sb辞职firstresponder]时,我总是得到EXC\u BAD\u访问权限
我不知道为什么。我的目标是实现一种类似于“地址簿”的行为,在这种行为中,您可以点击搜索栏,使其粘在顶部,并将灰色覆盖在UITableView
上
有什么建议吗
最佳
–f您确定通过removeFromSuperview
不会过早释放sb
?尝试先辞职,然后从superview中删除视图。Uhm,我不会从superview中删除sb
。这是overlayViewController
的视图属性。我知道。但是我想知道谁在保留sb
。如果您确定您的对象保留了它,请寻找另一个解决方案。好的,我发现了错误。在退出first responder时,我产生了一个无限循环,因为我在方法中调用了我的-finishSearching
方法,该方法在搜索栏
想要退出firstResponder
状态时被调用。无论如何谢谢你!尝试更改顺序(特别是,如果sb是overlayViewController.view的子视图,则在将其从视图层次结构中删除后,您将辞职first responder,至少在以前的版本中这是一件坏事)。