ReactiveMantle 0.1.0

ReactiveMantle 0.1.0

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布上次发布2015年3月

Martin Fernandez 维护。



 
依赖
ReactiveCocoa~> 2.4
Mantle~> 1.5
 

使用

ReactiveMantle 将 RACSignal 中的 NSDictionary 值转换为 Mantle 对象,仅此而已。

例如,如果我们使用 AFNetworking-RACExtensions 进行网络编程,代码可能如下所示:

Mantle 模型

#import <Mantle/Mantle.h>

@interface Product : MTLModel <MTLJSONSerializing>

@property (nonatomic, copy) NSNumber *id;
@property (nonatomic, copy) NSString *name;
@property (nonatomic, copy) NSNumber *price;

@end

@implementation Product

#pragma mark - MTLJSONSerializing

+ (NSDictionary *)JSONKeyPathsByPropertyKey {
  return @{
           @"id" : @"id",
           @"name" : @"name",
           @"price" : @"price"
           };
}

@end

然后我们可以发出请求并如此转换信号值

@interface APIClient : NSObject

@property (strong, nonatomic) AFHTTPSessionManager *manager;

- (RACSignal *)getProducts;

@end

@implementation APIClient

- (RACSignal *)getProducts {
  NSString *path = @"/products.json";

  return [[[[self.manager rac_GET:path parameters:nil]
  replayLazily]
  parseResponseForClass:[Product class]]
  transformError];
}

@end

查看文档以获取更多信息。 :)

安装

作者

Martin Fernandez, [email protected]

许可证

ReactiveMantle 在 MIT 许可证下提供。参见 LICENSE 文件以获取更多信息。