У меня есть MyModel, наследующий от MTLModel (с помощью GitHub Mantle pod). MyModel.h
#import <Mantle/Mantle.h>
@interface MyModel : MTLModel <MTLJSONSerializing>
@property (nonatomic, copy, readonly) NSString *UUID;
@property (nonatomic, copy) NSString *someProp;
@property (nonatomic, copy) NSString *anotherProp;
@end
MyModel.m
#import "MyModel.h"
@implementation MyModel
+ (NSDictionary *)JSONKeyPathsByPropertyKey
{
return @{
@"UUID": @"id",
@"someProp": @"some_prop",
@"anotherProp": @"another"
};
}
}
@end
Теперь я хочу отправить JSON на бэкэнд, используя AFNetworking. До этого я конвертирую экземпляр модели в JSON NSDictionary для использования в качестве параметров/полезной нагрузки тела в моем запросе.
NSDictionary *JSON = [MTLJSONAdapter JSONDictionaryFromModel:myModel];
Но этот JSON состоит из странных "строк" для свойств моей модели, которые равны нулю. То, что я вместо этого хочу, это Mantle, чтобы опустить эти пары ключ/значение и просто выплюнуть JSON только с свойствами, которые не ноль или NSNull.null, что бы то ни было.