iOS 關于第一響應者的驚天大崩潰!

驚天大崩潰

為什么說是驚天大崩潰?
因為一崩潰就直接到了main函數(shù),而且沒有一點崩潰信息,一點都沒有。
自定義了一個輸入框控件
在點擊輸入框時
直接來到這里:

在這里插入圖片描述


調試

多次調試的過程中
發(fā)現(xiàn)崩潰閃退的過程中
并不是馬上退出到主屏慕
而是界面卡了好幾秒
才退出的


多次調試

  • iPhone 5s 10.3.2 : 正常運行
  • iPhone 6 11.2.2 : 點擊輸入框,直接崩潰
  • iPhone 6P 11.3.1 : 點擊輸入框,直接崩潰

繼續(xù)調試

通過注釋全部代碼
一點一點放開的方式
不斷調試
終于找到了大Bug


罪魁禍首

因為業(yè)務需要
需要知道當前是否在輸入狀態(tài)
那就想到是不是第一響應者
就定義了一個BOOLisFirstResponder
結果是UIResponder已經定義了
那好吧
就改一下
firstResponder
.h 文件

@property(nonatomic, assign) BOOL firstResponder;

.m文件

- (BOOL)firstResponder{
    return _textView.isFirstResponder;
}

當調試進行到這里時,注釋這了段代碼

//- (BOOL)firstResponder{
//    return _textView.isFirstResponder;
//}

居然再也沒有崩潰了!


猜想

iOS 10 測試時,運行正常
到了iOS 11 測試時,就莫名崩潰
難道是在 iOS 11 系統(tǒng)內部有這個方法:

- (BOOL)firstResponder{ 
   //...
 }

因此重寫方法的關系
導致系統(tǒng)受不了!
直接崩潰了?!


總結

如果你像我一樣
自定義的一個輸入框
還恰好定義了一個firstResponder 屬性
又用了系統(tǒng)是 iOS 11 的手機來測試
那么
恭喜你
你找到了一個驚天大Bug!


一行代碼搞定視圖圓角

https://github.com/xjh093/JHViewCorner


?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容