驚天大崩潰
為什么說是驚天大崩潰?
因為一崩潰就直接到了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)
那就想到是不是第一響應者
就定義了一個BOOL值 isFirstResponder
結果是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