您好,欢迎来到要发发知识网。
搜索
您的当前位置:首页将接收到的JSON数据保存到本地NSUserDefault

将接收到的JSON数据保存到本地NSUserDefault

来源:要发发知识网

需求

  1. iOS app接收到JSON数据,并保存到NSUserDefault中。
  2. JSON中部分字段可能为空(null)

分析

  1. 由于JSON中部分字段为空,直接转换为NSDictionary后,存入NSUserDefault会报错。因为值为null的字段不能无法存入NSUserDefault。NSUserDefault只能存入特定类型的对象:NSData, NSString, NSNumber, NSDate, NSArray, NSDictionary。如果想要存储其它类型,需打包成NSData类型。
    备注:Swift 中String、Array、 Dictionary等也是可以存入USerDefault的,这些类型等价于Objective C 中对应的类

方法一

  1. 新建一个基于JSON的model类
  2. 实现NSCoding协议
  3. 将JSON转换为model实例,值为null的转换为0或""等
  4. 将model实例打包成NSData数据
  5. 保存到NSUserdefault中
    具体可参考中“自定义Model打包NSData类型”部分

方法二

  1. 新建一个基于JSON的model类
  2. 将JSON转换为model实例,值为null的转换为0或""等,具体可借助开源代码等转换
  3. 将model实例转换为NSDictionary,仍然可以通过开源代码等转换
  4. 将转换后的NSDictionary存入到NSUserdefault中

参考

Copyright © 2019- net188.cn 版权所有 湘ICP备2022005869号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务