Adds JSONHelper methods to read dictionaries.

This commit is contained in:
2020-09-17 01:32:52 -07:00
parent 9bf1595f29
commit 555efac0c4
3 changed files with 125 additions and 0 deletions

View File

@@ -20,6 +20,8 @@ NS_ASSUME_NONNULL_BEGIN
+(int)readIntFromDictionary:(NSDictionary*)dictionary forKey:(NSString*)key withDefaultValue:(int)defaultValue;
+(BOOL)readBoolFromDictionary:(NSDictionary*)dictionary forKey:(NSString*)key;
+(BOOL)readBoolFromDictionary:(NSDictionary*)dictionary forKey:(NSString*)key withDefaultValue:(BOOL)defaultValue;
+(NSDictionary*)readDictionaryFromDictionary:(NSDictionary*)dictionary forKey:(NSString*)key;
+(NSDictionary*)readDictionaryFromDictionary:(NSDictionary*)dictionary forKey:(NSString*)key withDefaultValue:(NSDictionary* _Nullable)defaultValue;
+(NSString*)readStringFromArray:(NSArray*)array forIndex:(NSUInteger)index;
+(NSString*)readStringFromArray:(NSArray*)array forIndex:(NSUInteger)index withDefaultValue:(NSString* _Nullable)defaultValue;
@@ -29,6 +31,8 @@ NS_ASSUME_NONNULL_BEGIN
+(int)readIntFromArray:(NSArray*)array forIndex:(NSUInteger)index withDefaultValue:(int)defaultValue;
+(BOOL)readBoolFromArray:(NSArray*)array forIndex:(NSUInteger)index;
+(BOOL)readBoolFromArray:(NSArray*)array forIndex:(NSUInteger)index withDefaultValue:(BOOL)defaultValue;
+(NSDictionary*)readDictionaryFromArray:(NSArray*)array forIndex:(NSUInteger)index;
+(NSDictionary*)readDictionaryFromArray:(NSArray*)array forIndex:(NSUInteger)index withDefaultValue:(NSDictionary* _Nullable)defaultValue;
@end

View File

@@ -87,6 +87,19 @@ BOOL coerceObjectToBool(NSObject *object, BOOL defaultValue) {
return coerceObjectToBool(object, defaultValue);
}
+(NSDictionary*)readDictionaryFromDictionary:(NSDictionary*)dictionary forKey:(NSString*)key {
return [JSONHelper readDictionaryFromDictionary:dictionary forKey:key withDefaultValue:nil];
}
+(NSDictionary*)readDictionaryFromDictionary:(NSDictionary*)dictionary forKey:(NSString*)key withDefaultValue:(NSDictionary* _Nullable)defaultValue {
NSObject *object = [dictionary objectForKey:key];
if ([object isKindOfClass:[NSDictionary class]]) {
return (NSDictionary*)object;
}
return defaultValue;
}
+(NSString*)readStringFromArray:(NSArray*)array forIndex:(NSUInteger)index{
return [JSONHelper readStringFromArray:array forIndex:index withDefaultValue:nil];
}
@@ -123,4 +136,17 @@ BOOL coerceObjectToBool(NSObject *object, BOOL defaultValue) {
return coerceObjectToBool(object, defaultValue);
}
+(NSDictionary*)readDictionaryFromArray:(NSArray*)array forIndex:(NSUInteger)index {
return [JSONHelper readDictionaryFromArray:array forIndex:index withDefaultValue:nil];
}
+(NSDictionary*)readDictionaryFromArray:(NSArray*)array forIndex:(NSUInteger)index withDefaultValue:(NSDictionary* _Nullable)defaultValue {
NSObject *object = [array objectAtIndex:index];
if ([object isKindOfClass:[NSDictionary class]]) {
return (NSDictionary*)object;
}
return defaultValue;
}
@end