ViewController respondsToSelector 错误的解决方法

原因解析:(来自别人博客分析)
某个公共类或系统提供的控件,存在delegate方法,当创建此公共控件的容器类已经销毁,
而这个控件对应的服务是在其它run loop中进行的,控件销毁或者需要进行状态通知时,依然按照
delegate的指针去通知,则会出现这个问题。

项目中所遇到的问题:

textview处于focus状态(键盘弹起的状态),然后点击取消按钮,使当前uiviewcontroller被pop出去, 这个时候首先会触发textview的回收键盘操作,回收键盘方法中又会去重设scrollview的contentOffset, 设置scrollview的contentOffset时,会不断触发其delegate即VC的调用, 而VC已经被释放,所以就出现了崩溃。 在dealloc 把这些delegate置空(iOS6 tableview的delegate也要置空)

时间: 2024-12-10 09:16:14

ViewController respondsToSelector 错误的解决方法的相关文章

fedora25 安装virtualbox5.1 出现提示Kernel driver not installed (rc=-1908) 错误的解决方法

fedora25 安装virtualbox5.1 出现提示Kernel driver not installed (rc=-1908) 错误的解决方法: $ sudo /usr/lib/virtualbox/vboxdrv.sh setup        vboxdrv.sh: Building VirtualBox kernel modules.             vboxdrv.sh: Starting VirtualBox services.

Windows 7 64bit上安装Oracle Database 12c [INS-30131] 错误的解决方法

Windows 7 64bit上安装Oracle Database 12c,出现以下错误: 解决方法: 第一步:控制面板>所有控制面板项>管理工具>服务>SERVER  启动 第二步:控制面板>所有控制面板项>管理工具>计算机管理>系统工具>共享文件夹>共享   右键单击“共享”>新建共享> 点击“下一步”>   单击“浏览”> 选择"本地磁盘(C:)">确定   单击“下一步”:     单击“

飞鸽传书 bind() error=10048错误的解决方法

提示  bind() 错误=10048 原因:其他程序占用飞鸽的 2425 端口 比如:飞秋也是使用2425端口 解决:用netstat命令查看是哪个进程占用了该端口 格式:netstat -ano | find "2425" 结果:  UDP    0.0.0.0:2425     *:*        1716 最后的1716就是占用2425进程的进程ID,看看是什么,可以结束的直接结束该进程,再打开飞鸽就可以了. 关于netstat命令可以输入命令 netstat /? 查看更多

运维实战案例之“Argument list too long”错误与解决方法

作为一名运维人员来说,这个错误并不陌生,在执行rm.cp.mv等命令时,如果要操作的文件数很多,可能会使用通配符批量处理大量文件,这时就可能会出现"Argument list too long"这个问题了. 1.错误现象 这是一台Mysql数据库服务器,在系统中运行了很多定时任务,今天通过crontab命令又添加了一个计划任务,退出时发生了如下报错: #crontab -e 编辑完成后,保存退出,就出现下面如下图所示错误: 2.解决思路 根据上面报错的提示信息,基本判定是磁盘空间满了,

idea调试SpringMvc, 出现:”Can't find catalina.jar"错误的解决方法

用gradle构建的项目,点击运行出现以下错误提示: Error running PraticeWeb: Can't find catalina.jar 21:54 Error running PraticeWeb Invalid arguments : Already listening [timeout, port, localAddress] 检查tomcat配置发现: File -> Setting -> Build,Execution,Deployment -> Applica

Laravel中常见的错误与解决方法小结

一.报错: 「Can't swap PDO instance while within transaction」 通过查询 Laravel 源代码,可以确认异常是在 setPdo 方法中抛出的: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <?php public function setPdo($pdo) {   if ($this->transactions >= 1) {     throw new RuntimeException("

关于spring4和hibernate4整合,配置事务报“Cannot unwrap to requested type [javax.sql.DataSource]”错误的解决方法及心得

Cannot unwrap to requested type [javax.sql.DataSource] 配置hibernate4和spring4时,出现错误,解决方法: 1.我去了spring4中的事务配置,数据库可以正常执行并访问.如下: <!-- 配置Hibernate  数据事务 --> <bean id="transactionManager" class="org.springframework.orm.hibernate4.Hibernat

启动 Eclipse 弹出&ldquo;Failed to load the JNI shared library jvm.dll&rdquo;错误的解决方法!

启动 Eclipse 弹出"Failed to load the JNI shared library jvm.dll"错误的解决方法 http://blog.csdn.net/zyz511919766/article/details/7442633   原因1:给定目录下jvm.dll不存在. 对策:(1)重新安装jre或者jdk并配置好环境变量.(2)copy一个jvm.dll放在该目录下. 原因2:eclipse的版本与jre或者jdk版本不一致 对策:要么两者都安装64位的,要

我遇到的警告错误及解决方法

Warning: Latch audio_deal:audio_deal_inst|val_vrefl[2] has unsafe behavior     Warning: Ports D and ENA on the latch are fed by the same signal audio_deal:audio_deal_inst|waveform_l[0] 解决: if...else...要写全 我遇到的警告错误及解决方法,布布扣,bubuko.com