我不是個標題黨,可是這函數名太長,偶也沒辦法。
### 【問題】
公司產品還在支持IOS6以上的系統,恰巧又遇上蘋果開發人員設計的問題,正好在IOS7的設備上暴露出來了。
在一個功能界面VC上,他使用了dismissViewControllerAnimated函數將此VC關閉掉。與此同時有彈出一個UIAlertView,并且delegate指向了此VC。
在IOS7系統上運行時,你會發現VC被關閉了,UIAlertView也彈出來了。但是,當你點擊上面的按鈕時,APP就崩啦。
### 【問題分析】
由于VC被關閉,那么UIAlertView上的按鈕響應就找不到對象了,然后造成系統崩潰。
### 【解決方法】
我個人認為這是個設計問題,因為此VC只應該負責處理功能,結果應該在它被關閉后的VC上進行提示。
但是,該問題在IOS8及以上的系統版本上不會出現了,估計蘋果也發現了這樣的問題就修改了。
暫時如果不想修改設計的話,那就將UIAlertView的delegate設置成nil就好了,反正只是一個提示,并沒有其他事務處理。