UITableview の tableHeaderView で UISearch バーを使用しようとしています。この検索機能は iOS 6 では問題なく動作しましたが、7.0 SDK に対してビルドして以来、別のビューから戻った後に検索バーをタップするとクラッシュします。検索 tableView を初めて表示すると、検索バーは期待どおりに機能します。しかし、詳細ビューにドリルダウンすると、検索バーをタップすると、exc-bad-access 例外がスローされます。この不正なアクセスは、私のスキームで NSZombies を使用することでログに記録されません。ヘッダー ビューを設定するコードは次のとおりです。
self.searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, 44)];
self.searchController = [[UISearchDisplayController alloc]
initWithSearchBar:self.searchBar contentsController:self];
self.searchController.delegate = self;
self.searchController.searchResultsDataSource = self;
self.searchController.searchResultsDelegate = self;
self.tableView.tableHeaderView = self.searchBar;
プロパティself.searchBar
とプロパティself.searchController
はどちらも強参照として宣言されています。メモリがないという警告はどこでも受け取られています。iOS 7 の UISearchBar または tableHeaderView で何か変更がありましたか? また、UISearchBar に外観プロキシを適用していることも注目に値するかもしれませんが、最初の読み込みでは正しく表示され、機能します。