美文网首页
2022-07-26

2022-07-26

作者: EricLihuifeng | 来源:发表于2022-07-26 14:05 被阅读0次

1、功能介绍

YYModel是高性能 iOS/OSX 模型转换框架。

(该项目是 YYKit 组件之一)

2、特性

  • 高性能: 模型转换性能接近手写解析代码。

  • 自动类型转换: 对象类型可以自动转换,详情见下方表格。

  • 类型安全: 转换过程中,所有的数据类型都会被检测一遍,以保证类型安全,避免崩溃问题。

  • 无侵入性: 模型无需继承自其他基类。

  • 轻量: 该框架只有 5 个文件 (包括.h文件)。

  • 文档和单元测试: 文档覆盖率100%, 代码覆盖率99.6%。

3、使用方法

简单的 Model 与 JSON 相互转换

// JSON:
{
    "uid":123456,
    "name":"Harry",
    "created":"1965-07-31T00:00:00+0000"
}

// Model:
@interface User : NSObject
@property UInt64 uid;
@property NSString *name;
@property NSDate *created;
@end
@implementation User
@end

    
// 将 JSON (NSData,NSString,NSDictionary) 转换为 Model:
User *user = [User yy_modelWithJSON:json];
    
// 将 Model 转换为 JSON 对象:
NSDictionary *json = [user yy_modelToJSONObject];

Model 属性名和 JSON 中的 Key 不相同

// JSON:
{
    "n":"Harry Pottery",
    "p": 256,
    "ext" : {
        "desc" : "A book written by J.K.Rowing."
    },
    "ID" : 100010
}

// Model:
@interface Book : NSObject
@property NSString *name;
@property NSInteger page;
@property NSString *desc;
@property NSString *bookID;
@end
@implementation Book
//返回一个 Dict,将 Model 属性名对映射到 JSON 的 Key。
+ (NSDictionary *)modelCustomPropertyMapper {
    return @{@"name" : @"n",
             @"page" : @"p",
             @"desc" : @"ext.desc",
             @"bookID" : @[@"id",@"ID",@"book_id"]};
}
@end

4、组件接入方式

CocoaPods

1.在 Podfile 中添加 pod 'YYModel'。

2.执行 pod install 或 pod update。

3.导入 <YYModel/YYModel.h>。

5、注意事项

  • 在 Cartfile 中添加 github "ibireme/YYModel"。

  • 执行 carthage update --platform ios 并将生成的 framework 添加到你的工程。

  • 导入 <YYModel/YYModel.h>。

6、版本历史记录

1.版本1.0.0增加XXX

2.版本2.0.0增加XXX

3.版本3.0.0增加XXX

7、其他

相关文章

  • js 日期格式化常见简单

    使用:new Date().Format("yyyy-MM-dd hh:mm:ss") 2022-07-26 1...

  • 环境盲点

    2022-07-26 ~ now Mathmech Update Jammer: TCG描述文墓地双刀效果必发,A...

  • 戒定慧·《感恩日志》重启·“重新做人”第16天

    2022-07-26(周日)六月廿八 戒定慧·《感恩日志》重启· “重新做人”第16天 【20:59】 01、南无...

  • 0267红月年开启|因净化而活出自己

    2022-07-26 北京 昨夜居然下起了小雨 凉快灯塔读书|用阅读点亮世界!早起|冥想|跑步|阅读|写作持续行动...

  • 市场处于哪个阶段的分析方法

    2022-07-26 周二 天气晴 高温强哥来我单位大院走了一趟。 市场处于哪个阶段的分析方法 一、整体市场。市场...

  • 2022-07-26

    Nat Rev | 空间组学:揭示生命复杂性的更多细节 原创骄阳似我图灵基因2022-07-26 13:23发表于...

  • 别⼈的好自⼰在自⼰这里是要打折扣的,然后自⼰的好都是要翻倍的

    别⼈的好自⼰在自⼰这里是要打折扣的,然后自⼰的好都是要翻倍的 2022-07-26 前⼏日,在公园,看到⼀处场景,...

  • 领着小宝去认亲

    2022-07-26 昨天晚上,sh老师告诉我,下午有一只小奶猫跑到zh老师办公室门口(一楼),声嘶力竭地叫,张老...

  • 2022-07-26

    1、一个女子没有经济能力,才会万劫不复,记住,勤奋工作,努力节蓄。 ——亦舒《吃南瓜的人》2、一个喜欢自由而独立阅...

  • 2022-07-26

    和小朋友在一起玩是很快乐的一件事情,这两天和小朋友在一起玩,我们一起学习,一起做游戏,我比她高两个年级,所以我可以...

网友评论

      本文标题:2022-07-26

      本文链接:https://www.haomeiwen.com/subject/hgeoirtx.html