网络数据常用解决方案

1、查看JSON数据
2、服务器返回空数据

1、JSON数据

    // 1、拿到路径
    NSString *path = [[NSBundle mainBundle] pathForResource:@"top250" ofType:@"json"];
    
    // 2.创建tops
    self.tops = [[NSMutableArray alloc] init];
    
    // 解析json,kNilOptions效率很好
    NSData *data = [NSData dataWithContentsOfFile:path];
    NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];
    [dict writeToFile:@"/Users/mac2/Desktop/top.plist" atomically:YES];

2、如果服务器返回数据为nil或null如何解决

// 宏定义
#define NULL_TO_NIL(obj) ({ __typeof__ (obj) __obj = (obj); __obj == [NSNull null] ? nil : obj; })

// 字典转模型赋值的
cinema.lowPrice = NULL_TO_NIL([dict objectForKey:@"lowPrice"]);

// cell 中赋值判断
if (cinema.lowPrice == NULL) {
        self.priceLabel.text = @"暂停服务";
    } else {
        self.priceLabel.text = [NSString stringWithFormat:@"¥%@", cinema.lowPrice];
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,293评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,941评论 25 709
  • 五 何去何从? 经过痛苦的思考,现实里每个人最终都会带着一步三回头的犹豫或者留恋,做出自己的抉择,因为这是一道人生...
    呼市彩妮阅读 2,801评论 0 1
  • 一、不控制 二、只分享快乐 三、看到正面,指出正面,支持和托起别人 四、抚摸 五、感恩对方的存在 六、敞开接受爱和...
    axjl如意阅读 1,657评论 0 0
  • 最近生活消费类产品的优惠力度不断加大,从外卖、打车、电商等服务中都能看出来。下面我将分析 打车类、阅读类、电商类应...
    爱吃爱花爱生活的UX人阅读 5,798评论 4 17