JSONModel简介(一)——读取并转化简单的本地JSON文件

做iOS开发的朋友,都要处理JSON文件,将其转化为Model。

这个过程是无疑是痛苦的。对于JSON数据量相对较少,或者Model里面的属性值较少的情况,处理起来不大费劲。但上架的应用大多是数据量巨大,与后台交互频繁的。更糟的是,后台接口频繁变化,那么维护起来就相当费劲了,因为你每次都要根据新的接口文档来逐一解释数据。往往每次要花你半天时间去修改、调试代码。


第三方工具——JSONModel正是为此而生!你只需要新建一个继承自JSONModel的Model类,然后挑选出你需要的属性字段,把它们逐一地在头文件中命名好即可。其它的转化工作你一概不用管,交给JSONModel吧。


以下面的JSON文件为例:

{
    "data" : [
                    {
                        "name" : "张三",
                        "gender" : "male"
                    },
                    {
                        "name" : "李四",
                        "gender" : "female"
                    },
                    {
                        "name" : "黄五",
                        "gender" : "male"
                    }
                ]
}

步骤一:通过CocoaPod安装JSONModel。(不再赘述)

步骤二:搭建UITableViewCell、UITableViewController等代码。(不再赘述)

步骤三:写Model文件,只需写.h文件,.m文件不用写。

你只需新建一个继承自JSONModel的Model类,只写头文件如下即可:

#import <JSONModel/JSONModel.h>

@protocol OneModel
@end

@interface OneModel : JSONModel

@property (copy, nonatomic) NSString *name;
@property (copy, nonatomic) NSString *gender;

@end


@interface Model : JSONModel

@property (nonatomic, strong) NSArray<OneModel> *data;

@end

这样组织数据的原因,是因为从JSON文档分析可知,data是一个NSArray,但每个数组元素本身又是一个字典,我把字典包装成一个OneModel,方便处理。这个步骤,从事iOS工作的朋友应该不难理解。

其它工作就是把data属性作为tableViewController的数据源即可。


步骤四:在UITableViewCell里重写setModel方法。

- (void)setOneModel:(OneModel *)oneModel{
    _oneModel = oneModel;
    
    self.textLabel.text = oneModel.name;
    self.detailTextLabel.text = oneModel.gender;
}

当然,我这里用的是setOneModel方法,因为OneModel才是我这个Cell的Model。而Model类则是代表整个JSON文件,所有我们认为有用的属性都写在Model里,但作为一个Cell的数据,则可能像我今次这样,只需一个Cell只需一个OneModel。

有兴趣的朋友,建议百度一下JSONModel的详细资料,要快速上手,下载我的代码即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值