Как я могу настроить NSdictionary, используя Mantle?
У меня есть следующая строка JSON:
{"suit_id": 2427;
"suits": "http://img.prettyyes.com/1137-4930-1446175512.jpeg;http://img.prettyyes.com/1137-7665-1446175512.jpeg;http://img.prettyyes.com/1137-4783-1446175512.jpeg"}
Так что, когда используйте мантию для анализа строки JSON со следующим файлом
testModel.h
@interface testModel : MTLModel <MTLJSONSerializing>
@property (nonatomic, strong) NSString *suit_id;
@property (nonatomic, strong) NSString *suits;
@end
testModel.m
@implementation testModel
+ (NSDictionary *) JSONKeyPathsByPropertyKey {
return @{
"suit_id": "suit_id",
"suits": "suits"
};
}
@end
Как бы то ни было, я хотел бы преобразовать костюмы из строки в NSArray с несколькими URL, поэтому я сделал следующее:
testModel.h
@interface testModel : MTLModel <MTLJSONSerializing>
@property (nonatomic, strong) NSString *suit_id;
@property (nonatomic, strong) NSArray *suits;
@end
testModel.m
@implementation testModel
+ (NSDictionary *) JSONKeyPathsByPropertyKey {
return @{
"suit_id": "suit_id",
"suits": "suits"
};
}
+ (NSValueTransformer *) suitsJSONTransform {
return [MTLValueTransformer transformerUsingForwardBlock:^(NSString *str, BOOL *success, NSError **error){
return [[str componentsSeparatedByString:@";"] mutableCopy];
}];
}
@end
Но это не работает. Результат ноль. Когда я переопределяю неправильную функцию?
1 ответ
Метод, возвращающий NSValueTransformer
за suits
должен быть назван suitsJSONTransformer
не suitsJSONTransform
,
Формат имени метода <propertyName>JSONTransformer
,