我有一个 Web 服务,它返回一个对象的 JSON,并且在该对象中有一个其他对象的列表。我怎样才能让 Mantle 为这些嵌套对象中的每一个创建一个对象,而不是为每个嵌套对象给我一本字典?
问问题
2545 次
1 回答
12
这可以使用mtl_JSONDictionaryTransformerWithModelClass:
Mantle 前段时间引入的变压器来完成。
让我们看一下取自Mantle 项目自述文件本身的示例:
@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
是MTLModel
符合MTLJSONSerializing
协议的子类,一切都应该完美运行。
更新:上述解决方案现已弃用。现在使用的正确方法是
return [MTLJSONAdapter dictionaryTransformerWithModelClass:GHUser.class];
在“assigneeJSONTransformer”方法中。
于 2013-08-15T18:24:45.007 回答