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()
可以自行验证一下新添加的代码坐在方法里是否执行,只要是执行的都会解决该问题的。
时间: 2024-11-13 02:49:20