IOS最近使用的解析第三方mantle

1 篇文章 0 订阅
1 篇文章 0 订阅

添加mantle 到你的项目1. pod search mantle 2. git上去下


会用cocoapod应该都会的, 我就不详细说了, 如果不会的可以百度, 或者留言, 教你也可以

好进入正题


//
//  Model.h
//  BlockDemo
//
//  Created by 胡岩 on 15/10/28.
//  Copyright (c) 2015年 胡岩. All rights reserved.
//

#import "MTLModel.h"

@interface Model : MTLModel

@property (nonatomic, strong) NSDate   *date;
@property (nonatomic, strong) NSString *name;
@property (nonatomic, strong) NSString *gender;

@end


//
//  Model.m
//  BlockDemo
//
//  Created by 胡岩 on 15/10/28.
//  Copyright (c) 2015年 胡岩. All rights reserved.
//

#import "Model.h"
#import <Mantle.h>

@interface Model ()<MTLJSONSerializing>

@end

@implementation Model

+ (NSDictionary *)JSONKeyPathsByPropertyKey {
    return @{
             @"date" : @"date",
             @"name" : @"name",
             @"gender" : @"gender"
             };
}

+ (NSDateFormatter *)dateFormatter {
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    dateFormatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
    dateFormatter.dateFormat = @"yyyy-MM-dd'T'HH:mm:ss'Z'";
    return dateFormatter;
}

// 这里<span style="font-family: Arial, Helvetica, sans-serif;">dateJSONTransformer  假如你.h文件里面的NSDate 变量叫todayDate 那么就要把</span><span style="font-family: Arial, Helvetica, sans-serif;">dateJSONTransformer改成todayD</span><span style="font-family: Arial, Helvetica, sans-serif;">ateJSONTransformer</span><span style="font-family: Arial, Helvetica, sans-serif;"></span><div>
</div>
+ (NSValueTransformer *)dateJSONTransformer
{
    return [MTLValueTransformer transformerUsingForwardBlock:^id(NSString *dateString, BOOL *success, NSError *__autoreleasing *error) {
        return [self.dateFormatter dateFromString:dateString];
    } reverseBlock:^id(NSDate *date, BOOL *success, NSError *__autoreleasing *error) {
        return [self.dateFormatter stringFromDate:date];
    }];
}

- (instancetype)initWithDictionary:(NSDictionary *)dictionaryValue error:(NSError *__autoreleasing *)error {
    self = [super initWithDictionary:dictionaryValue error:error];
    if (self == nil) {
        return nil;
    }
    return self;
}

使用

NSDictionary *dic = [NSDictionary dictionary];// 你要解析的字典
    
    Model *model = [MTLJSONAdapter modelOfClass:[Model class] fromJSONDictionary:dic error:nil];
    // 使用就是这样
    model.name


ok基本的使用就这么多, 更多的可以去读官方文档, 很好使用的


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值