Tag: github mantle

地幔自动将0和1转换为BOOL?

Mantle是否已经将JSON中的int值0和1转换为objective-C BOOL值? 我有一个模型: @interface MyModel : MTLModel @property (nonatomic, readonly) BOOL isValid; @end 可以说JSON是: { is_valid: 0 } OR { is_valid: 1 } 我想知道如果Mantle会自动将is_valid转换为Objective-C BOOL值,我必须明确地提及以下内容: + (NSValueTransformer)isValidJSONTransfermer { return [NSValueTransformer mtl_valueMappingTransformerWithDictionary:@{@(0) : @(NO), @(1) : @(YES)}]; }

基于另一个属性的地幔属性类?

我怎样才能使用Github Mantle来select一个基于另一个属性在同一类的属性类? (或者在最坏的情况下,JSON对象的另一部分)。 例如,如果我有这样的对象: { "content": {"mention_text": "some text"}, "created_at": 1411750819000, "id": 600, "type": "mention" } 我想做一个像这样的变压器: +(NSValueTransformer *)contentJSONTransformer { return [MTLValueTransformer transformerWithBlock:^id(NSDictionary* contentDict) { return [MTLJSONAdapter modelOfClass:ETMentionActivityContent.class fromJSONDictionary:contentDict error:nil]; }]; } 但传递给变换的字典只包含JSON的“内容”部分,所以我没有访问“types”字段。 有没有办法访问对象的其余部分? 或者以某种方式将“内容”的模型类别基于“types”? 我以前被迫做这样的黑客解决scheme: +(NSValueTransformer *)contentJSONTransformer { return [MTLValueTransformer transformerWithBlock:^id(NSDictionary* contentDict) { if (contentDict[@"mention_text"]) { return [MTLJSONAdapter modelOfClass:ETMentionActivityContent.class fromJSONDictionary:contentDict error:nil]; } else { […]

如何使用地幔在NSArray中指定子对象types

如果我有一本像这样的字典 { name: "Bob", cars: [ { make: "ford", year: "1972" }, { make: "mazda", year: "2000" } ], } 和两个模型,如: @interface CarModel : MTLModel @property (nonatomic, strong) NSString *make; @property (nonatomic, strong) NSString *year; @end @interface PersonModel : MTLModel @property (nonatomic, strong) NSString *name; @property (nonatomic, strong) NSArray *cars; @end 我如何使用地幔使我的人模型中的汽车数组是CarModel?