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

Attempting to load the view of a view controller while it is deallocating is not allowed and may result in undefined behavior (<UISearchController: 0x7f9c28c9d740>)

出现此类错误的时候很是头疼,因为这是 iOS9.0之类才会出现的错误,具体表现就是当 UISearchBar 出现的时候控制台就会输入此类的信息:

其实也很好解决,可以在 dealloc方法中添加:

  [self.searchController.view.superview removeFromSuperview];

也可以在你使用 UISearchController 的位置加上这句代码:

OC 的加这句:

  [self.searchController loadViewIfNeeded];

Swift 的加这个:

   self.resultSearchController.loadViewIfNeeded()

可以自行验证一下新添加的代码坐在方法里是否执行,只要是执行的都会解决该问题的。

原文地址:https://www.cnblogs.com/sandyzhang/p/5568095.html