最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決JSON數(shù)據(jù)因?yàn)閚ull導(dǎo)致數(shù)據(jù)加載失敗的方法

 更新時間:2016年09月20日 11:05:42   投稿:daisy  
前段時間發(fā)現(xiàn)一個問題,當(dāng)JSON數(shù)據(jù)中有null會導(dǎo)致數(shù)據(jù)加載失敗,后來解決了,現(xiàn)在將解決方法分享給大家,有同樣問題的朋友們可以參考。下面來一起看看吧。

一、首先分析問題:

使用NSJSONSerialization或者AFN框架的AFHTTPSessionManager(底層也是NSJSONSerialization)將NSData數(shù)據(jù)轉(zhuǎn)化成OC對象,有時會出現(xiàn)URL正確,加載數(shù)據(jù)任然會報(bào)錯:

 reason: '-[NSNull length]: unrecognized selector sent to instance

分析原因發(fā)現(xiàn),轉(zhuǎn)化出來的OC對象中含有null.所以,NSNull沒有l(wèi)ength方法,所以會報(bào)找不到方法錯誤。

二、解決辦法:將"null"替換成“ ”。

     1.先將NSData數(shù)據(jù)轉(zhuǎn)化成NSString;

     2.再對轉(zhuǎn)化好的NSString進(jìn)行替換;

     3.替換好的NSSting再轉(zhuǎn)化成NSData;

     4.NSData轉(zhuǎn)化成OC對象

下面提供一個封裝好的方法,以后直接使用就好了

//替換數(shù)據(jù)中的空字符串
+ (NSArray*)arrayWithNoNullArray:(NSArray*)originalArray {
  //array -> string
  NSData *data = [NSJSONSerialization dataWithJSONObject:originalArray options:0 error:nil];
  NSString *str =[[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
  //替換
  NSString *nStr = [str stringByReplacingOccurrencesOfString:@"null" withString:@"\"\""];
  //string -> array
  NSData *nData =[nStr dataUsingEncoding:NSUTF8StringEncoding];
  return [NSJSONSerialization JSONObjectWithData:nData options:0 error:nil];
}

傳入一個含有null的OC數(shù)組,直接返回替換過的新數(shù)組。用不含null的數(shù)組再去加載數(shù)據(jù),就不會有問題了。

好了,以上就是解決JSON數(shù)據(jù)因?yàn)閚ull導(dǎo)致數(shù)據(jù)加載失敗的方法,希望對有需要的朋友們有所幫助,如果有疑問打擊可以留言交流。

相關(guān)文章

  • iOS中多線程的入門使用教程(Swift)

    iOS中多線程的入門使用教程(Swift)

    這篇文章主要給大家介紹了關(guān)于iOS中多線程入門使用的相關(guān)資料,一個進(jìn)程中可以開啟多條線程,每條線程可以并行執(zhí)行不同的任務(wù),本文通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-11-11
  • iOS利用CoreImage實(shí)現(xiàn)人臉識別詳解

    iOS利用CoreImage實(shí)現(xiàn)人臉識別詳解

    OS的人臉識別從iOS 5(2011)就有了,不過一直沒怎么被關(guān)注過。人臉識別API允許開發(fā)者不僅可以檢測人臉,也可以檢測到面部的一些特殊屬性,比如說微笑或眨眼。下面這篇文章主要給大家介紹了iOS利用CoreImage實(shí)現(xiàn)人臉識別的相關(guān)資料,需要的朋友可以參考下。
    2017-05-05
  • IOS展開三級列表效果示例

    IOS展開三級列表效果示例

    今天介紹的是一個很不錯的三級列表展開效果的例子,文章運(yùn)用實(shí)例代碼介紹的很詳細(xì),提供給學(xué)習(xí)IOS的小伙伴們使用。
    2016-08-08
  • iOS常見的幾個修飾詞深入講解

    iOS常見的幾個修飾詞深入講解

    這篇文章主要給大家介紹了關(guān)于iOS常見的幾個修飾詞的相關(guān)資料,iOS修飾詞包括assign、weak、strong、retain、copy、nonatomic、atomic、readonly、readwrite,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-09-09
  • IOS 單擊手勢的添加實(shí)現(xiàn)代碼

    IOS 單擊手勢的添加實(shí)現(xiàn)代碼

    這篇文章主要介紹了IOS 單擊手勢的添加實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • IOS CocoaPods詳細(xì)使用方法

    IOS CocoaPods詳細(xì)使用方法

    自從有了CocoaPods以后,這些繁雜的工作就不再需要我們親力親為了,只需要我們做好少量的配置工作,CocoaPods會為我們做好一切
    2016-09-09
  • 探究iOS多線程究竟不安全在哪里?

    探究iOS多線程究竟不安全在哪里?

    iOS多線程安全的概念在很多地方都會遇到,為什么不安全,不安全又該怎么去定義,其實(shí)是個值得深究的話題。那么通過下面這篇文章小編和大家一起來探究了iOS多線程究竟不安全在哪里?需要的朋友可以參考學(xué)習(xí)。
    2017-02-02
  • 解析iOS開發(fā)中的FirstResponder第一響應(yīng)對象

    解析iOS開發(fā)中的FirstResponder第一響應(yīng)對象

    這篇文章主要介紹了解析iOS開發(fā)中的FirstResponder第一響應(yīng)對象,包括View的FirstResponder的釋放問題,需要的朋友可以參考下
    2015-10-10
  • iOS獲取短信驗(yàn)證碼倒計(jì)時的兩種實(shí)現(xiàn)方法

    iOS獲取短信驗(yàn)證碼倒計(jì)時的兩種實(shí)現(xiàn)方法

    本篇文章主要介紹了iOS獲取短信驗(yàn)證碼倒計(jì)時的兩種實(shí)現(xiàn)方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • iOS Remote Notification遠(yuǎn)程消息推送處理

    iOS Remote Notification遠(yuǎn)程消息推送處理

    這篇文章主要為大家詳細(xì)介紹了iOS Remote Notification遠(yuǎn)程消息推送處理,感興趣的小伙伴們可以參考一下
    2016-09-09

最新評論

贞丰县| 富顺县| 威海市| 和田县| 阜康市| 积石山| 霍州市| 铜梁县| 淳安县| 尼木县| 连城县| 临朐县| 荥阳市| 南开区| 许昌县| 黄骅市| 阿坝县| 洪湖市| 新密市| 新余市| 德昌县| 中山市| 塘沽区| 梁河县| 彰武县| 揭东县| 彭阳县| 武宁县| 永泰县| 灯塔市| 武邑县| 宁德市| 沙坪坝区| 上饶县| 东乡族自治县| 张家港市| 焦作市| 昆明市| 武功县| 威宁| 阿尔山市|