我不是个标题党,可是这函数名太长,偶也没办法。
### 【问题】
公司产品还在支持IOS6以上的系统,恰巧又遇上苹果开发人员设计的问题,正好在IOS7的设备上暴露出来了。
在一个功能界面VC上,他使用了dismissViewControllerAnimated函数将此VC关闭掉。与此同时有弹出一个UIAlertView,并且delegate指向了此VC。
在IOS7系统上运行时,你会发现VC被关闭了,UIAlertView也弹出来了。但是,当你点击上面的按钮时,APP就崩啦。
### 【问题分析】
由于VC被关闭,那么UIAlertView上的按钮响应就找不到对象了,然后造成系统崩溃。
### 【解决方法】
我个人认为这是个设计问题,因为此VC只应该负责处理功能,结果应该在它被关闭后的VC上进行提示。
但是,该问题在IOS8及以上的系统版本上不会出现了,估计苹果也发现了这样的问题就修改了。
暂时如果不想修改设计的话,那就将UIAlertView的delegate设置成nil就好了,反正只是一个提示,并没有其他事务处理。