I have zombies using a UISearchDisplayController with a UITableView.
UISearchDisplayController (and the rest of the view) is installed through the interface builder (storyboard on xcode 5 and only using ARC and iOS 7).
The DisplayController search function is used by these two methods.
-(BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString { [self filterContentForSearchText:searchString scope: [[self.searchDisplayController.searchBar scopeButtonTitles] objectAtIndex:[self.searchDisplayController.searchBar selectedScopeButtonIndex]]]; return YES; } -(BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchScope:(NSInteger)searchOption { [self filterContentForSearchText:self.searchDisplayController.searchBar.text scope: [[self.searchDisplayController.searchBar scopeButtonTitles] objectAtIndex:searchOption]]; return YES; }
Tools give me this information.
# Event Type ∆ RefCt RefCt Timestamp Responsible Library Responsible Caller 0 Malloc +1 1 00:10.739.188 UIKit -[UITableView setTableHeaderBackgroundColor:] 1 Retain +1 2 00:10.739.214 UIKit -[UIView(Internal) _addSubview:positioned:relativeTo:] 2 Retain +1 3 00:10.739.234 UIKit -[UISearchDisplayController _configureSearchBarForTableView] 3 Retain +1 4 00:10.739.291 UIKit -[UIView(Hierarchy) subviews] 4 Retain +1 5 00:10.771.238 UIKit -[UIView(Hierarchy) subviews] 5 Retain +1 6 00:10.782.890 QuartzCore -[CALayer layoutSublayers] 6 Release -1 5 00:10.782.891 QuartzCore -[CALayer layoutSublayers] 7 Release -1 4 00:10.792.538 QuartzCore CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*) 8 Release -1 3 00:15.446.447 UIKit -[UITableView dealloc] 9 Release -1 2 00:15.446.661 UIKit -[UIView(Internal) _invalidateSubviewCache] 10 Release -1 1 00:15.446.679 UIKit -[UIView(Hierarchy) removeFromSuperview] 11 Release -1 0 00:15.446.744 UIKit -[UITableView setTableHeaderBackgroundColor:] 12 Zombie -1 00:15.446.765 UIKit -[UISearchDisplayController _cleanUpSearchBar]
I tried to clear the UISearchDisplayController in a dealloc method like this
-(void)dealloc { self.searchDisplayController.searchResultsTableView.delegate = nil; self.searchDisplayController.delegate = nil; self.searchDisplayController.searchBar.delegate = nil; self.searchDisplayController.searchResultsDelegate = nil; self.searchDisplayController.searchResultsDataSource = nil; }
but it didn’t work.
Do you have any idea what I'm doing wrong?
Thanks for the help.
automatic-ref-counting storyboard nszombie uisearchdisplaycontroller
Bou
source share