NSDictionary+CSJSONKeyPath.h 1.07 KB
//
//  NSDictionary+CSJSONKeyPath.h
//  CocoaSettings
//
//  Created by Yunpeng Li on 2018/4/28.
//  Copyright © 2018年 Baidu. All rights reserved.
//

#import <Foundation/Foundation.h>

extern const NSInteger CSJSONErrorInvalidJSONDictionary;
@interface NSDictionary (CSJSONKeyPath)


/**
 从Dictionary中取值
 
 如果遇到JSON String,会自动解析该String然后读取值

 @param JSONKeyPath 用.分割各个属性
 @param error 读取错误
 @return 值
 */
- (id)cs_valueForJSONKeyPath:(NSString *)JSONKeyPath error:(NSError **)error;
@end

@interface NSMutableDictionary (CSJSONKeyPath)

/**
 从Dictionary中设值
 
 如果KeyPath涉及NSDictionary而非NSMutableDictionary,则会自动将其转化为NSMutableDictionary
 !!警告,与读取值时不同,如果遇到JSON String不会处理!!
 !!请确保内部所有的Dictionary都是NSMutableDictionary,否则将会读写错误!!
 
 @param JSONKeyPath 用.分割各个属性
 @param error 读取错误
 */
- (void)cs_setValue:(id)value forJSONKeyPath:(NSString *)JSONKeyPath error:(NSError **)error;
@end