使用UISearchBar时EXC BAD ACCESS

时间:2009-12-02 18:59:02

标签: iphone sdk uisearchbar

我想,我需要另一个好建议。到目前为止,我的解决方案似乎运行良好,但现在......

好的,事实:

  1. 我有一个普通的UIViewController
  2. 在UINavigationBar的顶部,在后面 那个 最初隐藏的UISearchBar
  3. 在底部的UIToolBar
  4. 我的主视图控制器支持 UISearchBarDelegate
  5. 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];”声明就是这个原因,因为我也可以通过点击搜索行来激发它。

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

    任何指针欢迎。

1 个答案:

答案 0 :(得分:0)

我的猜测是,searchBar正在被取消分配,你不知道。可能是因为您的视图控制器正在被取消分配和/或您的视图层次结构。尝试打破你的deallocs并看看它们何时发生是有意义的。