ios 一招解決煩人的NSNull( 結合 MJExtension)

? ? ?做ios開發的小伙伴肯定都深有體會,服務器返回給我們的null實在是太可惡了,嚴重點直接導致程序崩潰,好一點的時候特么也會讓你界面上顯示個null,這肯定是不符合要求的.

至于如何處理,網上這種文章也很多了.有人提到了一個牛逼的Category,叫NullSafe,說直接拉到工程里面去就歐拉,其他什么都不用做,但是我試用了下,發現問題依然存在.無奈之下,只能自己寫了.由于本人比較喜歡用MJExtension,所以就想著可不可以在這里面干點什么就可以達到我的要求.廢話就不多說了,直接上代碼.

如果你也是用的MJExtension,那么你可以在模型的.m文件中增加以下方法:

- (id)mj_newValueFromOldValue:(id)oldValue property:(MJProperty *)property{

if (oldValue == [NSNull null]) {

if ([oldValue isKindOfClass:[NSArray class]]) {

return? @[];

}else if([oldValue isKindOfClass:[NSDictionary class]]){

return @{};

}else{

return @"";

}

}

return oldValue;

}


到此,問題解決.因為;這個方法就是MJ提供給我們用來過濾字典中的某些值用的.

作者:汪澤煌

QQ:563206959

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 轉至元數據結尾創建: 董瀟偉,最新修改于: 十二月 23, 2016 轉至元數據起始第一章:isa和Class一....
    40c0490e5268閱讀 1,789評論 0 9
  • 1、禁止手機睡眠[UIApplication sharedApplication].idleTimerDisabl...
    DingGa閱讀 1,144評論 1 6
  • 1、禁止手機睡眠 [UIApplication sharedApplication].idleTimerDisab...
    FF_911閱讀 1,431評論 0 3
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,779評論 18 399
  • 18.游離于眾人外,保持好奇卻不靠近。偶爾輕笑,或頷首沉思。自詡不易相處。想要靠近卻難以靠近。懷揣著夢想,亦做出了...
    丶一直很安靜丨閱讀 295評論 2 0