IOS YYModel

YYModel介绍

YYModel是iOS/OSX平台下一个高性能的模型转换框架,和同类的其他框架相比,其无论从易用性和性能上都有很突出的优点。

YYModel在github上的仓库地址是:https://github.com/ibireme/YYModel,我们可以从中获取最新的版本以及相关信息。

YYModel具有如下特性:

高性能: 模型转换性能接近手写解析代码。
自动类型转换: 对象类型可以自动转换。
类型安全: 转换过程中,所有的数据类型都会被检测一遍,以保证类型安全,避免崩溃问题。
无侵入性: 模型无需继承自其他基类。
轻量: 该框架只有 5 个文件 (包括.h文件)。
文档和单元测试: 文档覆盖率100%, 代码覆盖率99.6%。

YYModel的安装

YYModel支持使用CocoaPods、Carthage以及手工方式进行安装,我们以CocoaPods为例。
在工程的Podfile中添加如下配置
pod ‘YYModel’
在终端执行如下命令执行安装操作
cd [Podfile所在的工程目录]
pod install
在需要使用YYModel的类中,导入YYModel的头文件
#import <YYModel/YYModel.h>

YYModel中的常用方法

在YYModel中,提供了用于模型对象与JSON/Dictionnary之间快速转换的方法。

根据JSON转换成为对应的模型对象。传入的JSON参数可以是NSData,NSString,NSDictionary类型的对象。

+ (nullable instancetype)yy_modelWithJSON:(id)json;

将模型Model对象转换成JSON对象

- (nullable id)yy_modelToJSONObject;

根据字典转换成模型对象。

+ (nullable instancetype)yy_modelWithDictionary:(NSDictionary *)dictionary;

举例

本节通过一个简单的案例介绍YYModel的简单使用,包括使用YYModel的字典转模型、模型转JSON以及JSON转模型的使用方法。

准备工作

首先使用CocoaPods导入YYModel框架。

在工程中,新建一个WebSite类,并在其中添加3个属性。

@interface WebSite : NSObject
@property (nonatomic,copy) NSString *url;
@property (nonatomic,copy) NSString *name;
@property (nonatomic,copy) NSNumber *foundedYear;
@end

在这里插入图片描述
在这里插入图片描述

#import "WebSite.h"
-(void)YYModelTest{
    //创建原始字典
    NSDictionary *dict=@{@"url":@"https://github.com/ShaeZhuJiu",
                         @"name":@"Shae",
                         @"foundedYear":@"2019"
                         };
    //字典转模型
    WebSite *webSite1=[WebSite yy_modelWithDictionary:dict];
    NSLog(@"----字典转模型----");
    NSLog(@"url:%@,name:%@,foundedYear:%@",webSite1.url,webSite1.name,webSite1.foundedYear);
    //模型转json
    NSDictionary *json=[webSite1 yy_modelToJSONObject];
    NSLog(@"---模型转json---");
    NSLog(@"%@",json);
    //json转模型
    WebSite *website2=[WebSite yy_modelWithJSON:json];
    NSLog(@"---json转模型---");
    NSLog(@"%@,%@,%@",website2.url,website2.name,website2.foundedYear);
}

在这里插入图片描述

代码

https://github.com/ShaeZhuJiu/YYMode_base.git

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值