测试已测试 | ✗ |
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 文件以获取更多信息。