Attempting to load the view of a view controller while it is deallocating is not allowed and may result in undefined behavior (

使用UISearchController出现这个警告

只要返回上一个界面就会报这个警告,Attempting to load the view of a view controller while it is deallocating is not allowed and may result in undefined behavior ()

但是如果有点了一下搜索框再返回就不会报,这个警告倒是不影响使用,但是看着不爽。。

下面是我的相关的设置

- (void)viewDidLoad {

...

self.searchController = [[UISearchController alloc] initWithSearchResultsController:nil];

self.searchController.searchResultsUpdater = self;

self.searchController.dimsBackgroundDuringPresentation = NO;

self.tableView.tableHeaderView = self.searchController.searchBar;

self.searchController.searchBar.searchBarStyle = UISearchBarStyleMinimal;

self.searchController.hidesNavigationBarDuringPresentation = NO;

self.definesPresentationContext = YES;

}

- (void)viewWillDisappear:(BOOL)animated {

[super viewWillDisappear:animated];

if (self.searchController.active) {

self.searchController.active = NO;

[self.searchController.searchBar removeFromSuperview];

}

}



解决方法

self.searchController = [[UISearchController alloc] initWithSearchResultsController:nil];改为 self.searchController = [[UISearchController alloc] initWithSearchResultsController:self];就好了

你可能感兴趣的:(Attempting to load the view of a view controller while it is deallocating is not allowed and may result in undefined behavior (