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 と同じように、オブジェクト関係のツリーをたどる必要があると思います。この動作が既に実装されていて、それを使用する方法を理解できないのか、それとも自分でコーディングする必要があるのか 疑問に思っています.
また、readme ファイル以外に、mantle フレームワークに関するドキュメントをもう少し見つけるのに苦労しています。