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()
可以自行验证一下新添加的代码坐在方法里是否执行,只要是执行的都会解决该问题的。
UISearchController Attempting to load the view of a view controller while it is deallocating is not allowed and may result in undefined behavior的更多相关文章
- 通过圆形载入View了解自定义View
这是自定义View的第一篇文章,通过制作简单的自定义View来了解自定义View的流程. 自定义View是Android学习和开发中必不可少的一部分.通过自定义View我们可以制作丰富绚丽的控件,自定 ...
- Controller将Model数据传给View层,View层应该如何处理?
首先,我们在Model层中添加一个Person类. namespace MVCTest.Models{ public class Person { public string ...
- 使用android.view.TouchDelegate扩大View的触摸点击区域
Android4.0设计规定的有效可触摸的UI元素标准是48dp,转化为一个物理尺寸约为9毫米.7~10毫米,这是一个用户手指能准确并且舒适触摸的区域. 如下图所示,你的UI元素可能小于48dp,图标 ...
- View事件传递之父View和子View之间的那点事
Android事件传递流程在网上可以找到很多资料,FrameWork层输入事件和消费事件,可以参考: Touch事件派发过程详解 这篇blog阐述了底层是如何处理屏幕输,并往上传递的.Touch事件传 ...
- 通过View.post()获取View的宽高
在Android里,获取View宽高的时机是个老生常谈的话题了.众所周知,在Oncreate里直接调用View.getWidth或者View.getMeasuredWidth返回都是0.所以获取宽高时 ...
- Android-自定义View前传-View的三大流程-Layout
Android-自定义View前传-View的三大流程-Layout 参考 <Android开发艺术探索> https://github.com/hongyangAndroid/FlowL ...
- Android自定义View前传-View的三大流程-Measure
Android自定义View前传-View的三大流程-Measure 参考 <Android开发艺术探索> https://developer.android.google.cn/refe ...
- [self.view addSubview:vc2.view]程序崩溃的解决办法
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. UIButt ...
- 【我的Android进阶之旅】如何去除ListView中Header View、Footer View中的分割线
最近的项目中给ListView 加入了一个Header View之后,发现Header View的下方也有了分割线,很难看,UI要求将Header View的分割器去掉,好吧.现在就来说一说如何如何去 ...
随机推荐
- <s:url>指向的Action只执行一次,清除浏览器缓存文件后又可执行一次。
Action中的方法仅为静态变量赋值,而其他访问数据库的Action可以被重复执行. 起初判断可能是静态变量的内存机制导致不能重复执行. 然后发现清楚浏览器缓存文件后又可以执行一次了,看来原因在Jsp ...
- jstl c标签
判断List是否为空的一种方法是使用jstl的c标签. <c:if test="${not empty cpInfo.cpCredentials}"> </c:i ...
- Mahout 的安装
Mahout 的安装 Mahout是Hadoop的一种高级应用.运行Mahout需要提前安装好Hadoop,Mahout只在Hadoop集群的NameNode节点上安装一个即可,其他数据节点上不需要安 ...
- PHP array_multisort() 函数详解 及 二维数组排序(模拟数据表记录按字段排序)
一.先看最简单的情况. 有两个数组: $arr1 = array(1, 9, 5); $arr2 = array(6, 2, 4); array_multisort($arr1, $arr2); pr ...
- 解决Ckeditor编辑器不显示html实体,自动过滤html的问题
Ckeditor 4.5.4,在编辑的时候,使用源码编辑,当保存内容包含Javascript.Style标签的时候,数据库中有Javascript.Style标签,输入到页面也可以执行,但是我再次编辑 ...
- window 常用软件
参考链接: http://www.aiweibang.com/yuedu/721140.html http://www.aiweibang.com/yuedu/145263218.html 1.wox ...
- PHP Socket实现websocket(一)基本函数介绍
WebSocket protocol 是HTML5一种新的协议.它实现了浏览器与服务器全双工通信(full-duplex). 一开始的握手需要借助HTTP请求完成. WebSocket是基于TCP来实 ...
- 使用liunx部署的心得
安装SSH. 输入IP,输入用户名,点击连接,再输入密码. 如果采用的tomcat容器,则: 第一步: 查看正在运行的tomcat ps aux|grep tomcat 如果输出信息很长代表启动了的, ...
- IntelliJ Idea 修改编码格式
Setting→Editor→File Encodings→设置“Project Encoding”为UTF-8,如图:
- Interleaving String leetcode
Given s1, s2, s3, find whether s3 is formed by the interleaving of s1 and s2. For example,Given:s1 = ...