我从 Github遇到了一个关于Mantle 框架的问题。我想做以下
@interface ClassA : MTLModel <MTLJSONSerializing>
@property(strong, non-atomic) ClassB *instanceOfB;
@end
@implementation ClassA
+ (NSDictionary *)JSONKeyPathsByPropertyKey {
return [super.JSONKeyPathsByPropertyKey mtl_dictionaryByAddingEntriesFromDictionary:@{
@"instanceOfB": @"user"
}];
}
@interface ClassB : MTLModel <MTLJSONSerializing>
@property(strong, non-atomic) NSString *name;
@end
@implementation ClassB
+ (NSDictionary *)JSONKeyPathsByPropertyKey {
return [super.JSONKeyPathsByPropertyKey mtl_dictionaryByAddingEntriesFromDictionary:@{
@"name": @"user_name"
}];
}
已编辑
ClassA
当我使用 JSON序列化一个实例时,[NSJSONSerialization dataWithJSONObject:[MTLJSONAdaptor JSONDictionaryFromModel:instanceOfA]
我想获得以下 JSON 对象,其中 B 的选定属性嵌套在 JSON 键下user
:
{ user: {
user_name: <value of class B's name property>
}
}
我认为必须像 NSCoding 所做的那样沿着对象关系树走下去。我想知道这种行为是否已经实现,我只是不知道如何使用它,或者我是否必须自己编写代码。
除了自述文件之外,我也很难找到更多关于地幔框架的文档。