我有一个Web服务,它返回一个对象的JSON,并在该对象中有一个其他对象的列表.我怎样才能让Mantle为这些嵌套对象中的每一个创建一个对象,而不是为每个嵌套对象提供一个字典?
aka*_*kyy 12
这可以使用mtl_JSONDictionaryTransformerWithModelClass:Mantle不久前推出的变换器来完成.
让我们看看Mantle项目自述文件中的示例:
@interface GHIssue : MTLModel <MTLJSONSerializing>
@property (nonatomic, strong, readonly) GHUser *assignee;
@end
Run Code Online (Sandbox Code Playgroud)
@implementation GHIssue
+ (NSDictionary *)JSONKeyPathsByPropertyKey {
return @{
@"assignee": @"assignee",
};
}
+ (NSValueTransformer *)assigneeJSONTransformer {
return [NSValueTransformer mtl_JSONDictionaryTransformerWithModelClass:[GHUser class]];
}
@end
Run Code Online (Sandbox Code Playgroud)
假设GHUser是MTLModel符合MTLJSONSerializing协议的子类,一切都应该完美.
更新:以上解决方案现已弃用.现在使用的正确方法是
return [MTLJSONAdapter dictionaryTransformerWithModelClass:GHUser.class];
Run Code Online (Sandbox Code Playgroud)
在'assigneeJSONTransformer'方法中.
| 归档时间: |
|
| 查看次数: |
2438 次 |
| 最近记录: |