iOS開發之常見crash

2021-07-03 05:44:26 字數 612 閱讀 3651

作為開發人員難免會遇到一些令人匪夷所思的crash.這裡我總結幾個常見的crash.可以說大多都是平時寫**時嚴謹點的話完全可以

避免的。

首先,要說的是型別判斷。當我們拿到傳過來的乙個陣列或是字典或者字串的時候。我們是否應該考慮容錯問題。加入伺服器給我

們傳的不是這種型別的資料呢。因此我們以字典為例:nsdictionary  *dict; 

if ( dict

|| [dict iskindofclass:[nsdictionary class]])

類似這樣的型別判斷後才做進一步的資料處理。寫**功能實現只佔3分,而餘下的7分其實都是再做容錯型別判斷這些工作。

第二點,也是上面的補充和延續。當我們拿到資料要傳出去的時候一定要注意網上或者後台或者其他一些地方得到到字典從裡面去出

的物件必須判斷它的資料型別然後再傳值,否則在以後的某一時刻或許就會有乙個crash bug 等著你去fix.

第三點,

多個執行緒在訪問同乙個非執行緒安全物件時,有可能會crash. 

解決crash的方法可以用threaddictionary或者加鎖. 

加鎖會造成執行緒阻塞,用threaddictionary會造成記憶體增加.根據實際情況取捨. 

iOS開發中捕獲Crash 傳送Bug郵件

view source print?01nsuncaughtexceptionhandler uncaughtexceptionhandler nil 02voiduncaughtexceptionhandler n ception exception 然後在 bool nsdictionary l...

ios開發之HTTP請求常見錯誤

http 錯誤 400 400 請求出錯 由於語法格式有誤,伺服器無法理解此請求。不作修改,客戶程式就無法重複此請求。http 錯誤 401 401.1 未授權 登入失敗 此錯誤表明傳輸給伺服器的證書與登入伺服器所需的證書不匹配。401.2 未授權 伺服器的配置導致登入失敗 此錯誤表明傳輸給伺服器的...

IOS開發常見錯誤

1 問題表現 什麼情況?方法居然無法拉線?問題簡述 ios的空間拉線到乙個.h m檔案中 居然多次拖動無效.問題解決 ios的空間響應單單在 中建立乙個方法是沒用的,這個時候通常跟空間是沒有響應關係的 建立控制項的方式另外說 所以這個時候我們需要按住control鍵拖動一條線與對應的方法產生響應 在...