6 #import <Foundation/Foundation.h>
8 #import "MPJSONModelError.h"
9 #import "MPJSONValueTransformer.h"
10 #import "MPJSONKeyMapper.h"
13 #if TARGET_IPHONE_SIMULATOR
14 #define JMLog( s, ... ) NSLog( @"[%@:%d] %@", [[NSString stringWithUTF8String:__FILE__] \
15 lastPathComponent], __LINE__, [NSString stringWithFormat:(s), ##__VA_ARGS__] )
17 #define JMLog( s, ... )
22 @protocol ConvertOnDemand
29 #pragma mark - Property Protocols
57 #pragma mark - MPJSONModel protocol
74 - (instancetype)initWithDictionary:(NSDictionary *)dict error:(NSError **)err;
86 - (instancetype)initWithData:(NSData *)data error:(NSError **)error;
109 - (NSDictionary *)toDictionaryWithKeys:(NSArray <NSString *> *)propertyNames;
113 #pragma mark - MPJSONModel interface
123 + (NSMutableArray *)arrayOfModelsFromDictionaries:(NSArray *)array DEPRECATED_MSG_ATTRIBUTE("use arrayOfModelsFromDictionaries:error:");
124 + (void)setGlobalKeyMapper:(
MPJSONKeyMapper *)globalKeyMapper DEPRECATED_MSG_ATTRIBUTE("override +
keyMapper in a base model class instead");
125 + (NSString *)protocolForArrayProperty:(NSString *)propertyName DEPRECATED_MSG_ATTRIBUTE("use classForCollectionProperty:");
126 - (void)mergeFromDictionary:(NSDictionary *)dict useKeyMapping:(BOOL)useKeyMapping DEPRECATED_MSG_ATTRIBUTE("use mergeFromDictionary:useKeyMapping:error:");
127 - (NSString *)indexPropertyName DEPRECATED_ATTRIBUTE;
128 - (NSComparisonResult)compare:(
id)object DEPRECATED_ATTRIBUTE;
140 - (instancetype)initWithString:(NSString *)string error:(
MPJSONModelError **)err;
150 - (instancetype)initWithString:(NSString *)string usingEncoding:(NSStringEncoding)encoding error:(
MPJSONModelError **)err;
171 - (NSString *)toJSONStringWithKeys:(NSArray <NSString *> *)propertyNames;
178 - (NSData *)toJSONDataWithKeys:(NSArray <NSString *> *)propertyNames;
194 + (NSMutableArray *)arrayOfModelsFromDictionaries:(NSArray *)array error:(NSError **)err;
195 + (NSMutableArray *)arrayOfModelsFromData:(NSData *)data error:(NSError **)err;
196 + (NSMutableArray *)arrayOfModelsFromString:(NSString *)string error:(NSError **)err;
197 + (NSMutableDictionary *)dictionaryOfModelsFromDictionary:(NSDictionary *)dictionary error:(NSError **)err;
198 + (NSMutableDictionary *)dictionaryOfModelsFromData:(NSData *)data error:(NSError **)err;
199 + (NSMutableDictionary *)dictionaryOfModelsFromString:(NSString *)string error:(NSError **)err;
210 + (NSMutableArray *)arrayOfDictionariesFromModels:(NSArray *)array;
211 + (NSMutableDictionary *)dictionaryOfDictionariesFromModels:(NSDictionary *)dictionary;
227 - (BOOL)validate:(NSError **)error;
243 + (BOOL)propertyIsOptional:(NSString *)propertyName;
252 + (BOOL)propertyIsIgnored:(NSString *)propertyName;
274 + (Class)classForCollectionProperty:(NSString *)propertyName NS_SWIFT_NAME(classForCollectionProperty(propertyName:));
282 - (BOOL)mergeFromDictionary:(NSDictionary *)dict useKeyMapping:(BOOL)useKeyMapping error:(NSError **)error;
Definition: MPJSONModel.h:53
Definition: MPJSONKeyMapper.h:41
Definition: MPJSONModelError.h:51
Definition: MPJSONModel.h:120
MPJSONKeyMapper * keyMapper()
NSString * toJSONString()
Definition: MPJSONModel.h:62
NSDictionary * toDictionary()