2009-12-02 56 views
1

我想我需要另一个很好的建议。到现在为止我的解决方案看起来运行良好,但现在......使用UISearchBar时EXC BAD访问

OK,事实:

  1. 我有一个普通的UIViewController
  2. 在顶部的UINavigationBar的,后面 一个 的UISearchBar,最初
  3. 隐藏在底部的UIToolBar
  4. 我的主视图控制器支持 UISearchBarDelegate

上UIToolBar开关切换的的UISearchBar

if (show) { 
     [searchBar setShowsCancelButton:TRUE animated:TRUE]; 
     [navigationBar setHidden:TRUE]; 
     [searchBar becomeFirstResponder]; 
    } 
    else { 
     [navigationBar setHidden:FALSE]; 
     [searchBar setShowsCancelButton:FALSE animated:TRUE]; 
    } 
    searchIsVisible = !searchIsVisible; 

能见度有一些动漫周边,但我已经下跌了例如。它运行良好,我可以输入一个搜索字符串并使用“searchBarSearchButtonClicked:”访问它。我也能对“searchBarCancelButtonClicked”作出反应:“

我以前没有注意到它,或者它现在发生了 - 我偶尔会发现EXC BAD ACCESS,恕不另行通知。我很确定,“[searchBar becomeFirstResponder];”声明是这个原因,因为我也可以通过攻击搜索线来挑动它。

不幸的是我无法弄清楚,原因是什么。我是否必须提供另一个委托方法,就像我现在的两个方法?

欢迎任何指针。

回答

0

我的猜测是searchBar被释放,你不知道它。可能是因为您的视图控制器正在被释放和/或您的视图层次结构。尝试打破你的deallocs,看看它们是否发生是有道理的。