我有一个Web服务,它返回一个对象的
JSON,并在该对象中有一个其他对象的列表.我怎样才能让Mantle为这些嵌套对象中的每一个创建一个对象,而不是为每个嵌套对象提供一个字典?
解决方法
这可以使用Mantle不久前推出的mtl_JSONDictionaryTransformerWithModelClass:tranformer来完成.
让我们看一下Mantle project readme本身的例子:
@interface GHIssue : MTLModel <MTLJSONSerializing> @property (nonatomic,strong,readonly) GHUser *assignee; @end
@implementation GHIssue + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"assignee": @"assignee",}; } + (NSValueTransformer *)assigneeJSONTransformer { return [NSValueTransformer mtl_JSONDictionaryTransformerWithModelClass:[GHUser class]]; } @end
假设GHUser是符合MTLJSONSerializing协议的MTLModel的子类,一切都应该完美.
return [MTLJSONAdapter dictionaryTransformerWithModelClass:GHUser.class];
在’assigneeJSONTransformer’方法中.