雖然對后臺每個字段判空是有必要,但是對后臺每個字段進行判空感覺也是有點難不科學的洲劣,如果項目項目業(yè)務場景太多了备蚓,實際上沒有辦法保證每個點都去進行防止奔潰處理的。我覺得我們可以利用runtime一些機制去做一些一勞永逸的防奔潰措施囱稽,這是我列舉的幾個防止奔潰的方法郊尝,在本地demo有進行測試過,如果你們覺得可以战惊,可以加到項目當中流昏。
主要奔潰有幾大原因:
1.AFN中的post方法中沒有removesKeysWithNullValues 有關方法,但是get 方法中有(請參考這個鏈接
http://www.reibang.com/p/873eab2a4878)
2.后臺數據有一些null返回吞获,這個時候我們可以用NullSafe這個工具類去攔截况凉,消息轉發(fā)機制,保證不奔潰
(https://github.com/nicklockwood/NullSafe)
3.數組取值越界各拷,字典字面量取值取到null刁绒,字符串截取越界引發(fā)的一些奔潰,我們可以利用SafeObject工具類去做處理烤黍,這個第三方知市,我驗證過,包括字面量取值方法也可以防止不奔潰 (https://github.com/MrLujh/SafeObject)
4.還有一種奔潰是訪問壞內存導致的奔潰蚊荣,例如過度釋放造成初狰,這個暫時還未想到非常好的辦法去攔截奔潰