I have two view controllers A and B. From A, I navigate to view controller B as follows:
// in View Controller A
// navigateToB method
-(void) navigateToB
I had the same issue. The searchDisplayController, was not made nil in the dealloc of the View controller, in which it was used. Instead the delegate managed the release of the searchDisplayController and this was done after, the tableView got released. Now after manually entering this code in the view controller's dealloc, its working fine now.
self.searchDisplayController.delegate = nil;
self.searchDisplayController.searchResultsDelegate = nil;
self.searchDisplayController.searchResultsDataSource = nil;
Thanks for your help.