Mantle的使用

作者: 浅陌 | 来源:发表于2015-03-18 12:00 被阅读1247次

Mantle是基于KVO实现的,必须是属性才可以,普通的成员变量是无法使用Mantle的。

Model类需要集成MTLModel,同时需要实现MTLJSONSerializing,告诉Mantle如何根据我们的规则把JSON格式转换成Model Object。

+(NsDictionary *)JSONKeyPathByPropertyKey

方法指明了如何把JSON的keypath和mode object的key对应起来。

+(NSValueTransformer *)JSONTransformerForKey:(NSString *)key

方法用来对数据进行转换,但是会有大量if-else if-else。
例子:

+(NSValueTransformer *)JSONTransformerForKey:(NSString *)key
{
     if([key isEqualToString:@"xxx"]){
          return [MTLValueTransformer reversebleTransformerWithForwardBlock:^id(NSNumber *number){
               //将number转换成要得到的格式返回
               return xxx;
          } reverseBlock:^id(NSString *str){
               //将str转换成要得到的格式返回
               return xxx;
          }
      }
      return nil;
}

可以用
+ (NSValueTransformer *)<key>JSONTransformer
方法来实现转换model。
例子:

+(NSValueTransformer *)XXXJSONTransformer
{
     return [MTLValueTransformer reversebleTransformerWithForwardBlock:^id(NSNumber *number){
                  //将number转换成要得到的格式返回
                  return xxx;
             } reverseBlock:^id(NSString *str){
                  //将str转换成要得到的格式返回
                  return xxx;
             }
}

转化model:

xxxx *xxx = [MTLJSONAdapter modelOfClass:[xxxx class] fromJSONDictionary:json error:nil];

转化json:

NSDictionary *json = [MTLJSONAdapter JSONDictionaryFromModel:xxx];

相关文章

  • Mantle的使用

    Mantle是基于KVO实现的,必须是属性才可以,普通的成员变量是无法使用Mantle的。 Model类需要集成M...

  • Mantle——iOS 模型 & 字典转换框架

    GitHub: Mantle Star: 11.2k Mantle——iOS 模型 & 字典转换框架 Mantle...

  • 模型转换Mantle,JSONModel,MJExtension

    模型转换Mantle,JSONModel,MJExtension,YYModel的使用 把JSON数据转换为模型,...

  • 使用Mantle来Model化来自豆瓣的电影数据

    Mantle的使用 要实现的功能 我要举得例子来自豆瓣电影,根据某电影ID从豆瓣上把数据抓取出来,通过Mantle...

  • Vulkan 简介

    1. Vulkan起源和历史 1.1 AMD Mantle 2013年,AMD主导开发了Mantle。Mantle...

  • iOS Mantle 的详细使用

    GitHub下载地址: https://github.com/Mantle/Mantle

  • Mantle和Realm的使用

    本文翻译自Simplifying RESTful API Use and Data Persistence on ...

  • iOS框架mantle的使用

    最近接触到了Mantle这个东西,感觉很不错,在此与各位分享一下。 前言在开发的过程中,我们常常会从网络获取数据,...

  • Mantle使用说明

    在看官方提供的文档中,我尝试着写这样的模型,此模型是参照网上另外一篇博客 链接 我们可以注意到FirstInter...

  • Whew Mantle

    What is Mantle Mantle是一个用于简化Model层的第三方库 Mantle effet 不想为M...

网友评论

    本文标题:Mantle的使用

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