NSMutableDictionary+BBASafeSetValue.h 2.63 KB
//
//  NSMutableDictionary+BBASafeSetValue.h
//  BBAFoundation
//
//  Created by Zhu,Yusong on 2018/9/25.
//  Copyright © 2018年 Baidu. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "BDPFoundationDefines.h"

/**
 * NSMutableDictionary安全写入的辅助方法,Key值必须是String类型,可以用在json字典的安全操作
 * 详细介绍请看README-SafeAPI
 */

NS_ASSUME_NONNULL_BEGIN

@interface NSMutableDictionary (BBASafeSetValue)

/**
 * @brief 向可变字典中安全写入Object,与 safe_setObject:forKey: 区别在于key值必须为NSString
 *
 * @param anObject value
 * @param key string
 */
- (void)bba_setObject:(id)anObject forKey:(NSString *)key BDP_FOUNDATION_DEPRECATED("please use bdp_safeSetObject:forStringKey:");
- (void)bdp_safeSetObject:(id)anObject forStringKey:(NSString *)key;

/**
 * @brief 向可变字典中安全写入字符串,相当于 bba_setString: forKey: allowEmptyString:NO
 *
 * @param string value
 * @param key string
 */
- (void)bba_setString:(NSString *)string forKey:(NSString *)key BDP_FOUNDATION_DEPRECATED("please use bdp_safeSetString:forKey:");
- (void)bdp_safeSetString:(NSString *)string forKey:(NSString *)key;

/**
 * @brief 向可变字典中安全写入字符串
 *
 * @param string value
 * @param key string
 * @param allowEmptyString 若为 NO 则会将长度为0的字符串当做nil处理(也会移除key对应的键值)
 */
- (void)bba_setString:(NSString *)string forKey:(NSString *)key allowEmptyString:(BOOL)allowEmptyString  BDP_FOUNDATION_DEPRECATED("please use bdp_safeSetString:forKey:allowEmptyString:");
- (void)bdp_safeSetString:(NSString *)string forKey:(NSString *)key allowEmptyString:(BOOL)allowEmptyString;

/**
 * @brief 向可变字典中安全写入 NSNumber
 *
 * @param number value
 * @param key string
 */
- (void)bba_setNumber:(NSNumber *)number forKey:(NSString *)key BDP_FOUNDATION_DEPRECATED("please use bdp_safeSetNumber:forKey:");
- (void)bdp_safeSetNumber:(NSNumber *)number forKey:(NSString *)key;

/**
 * @brief 向可变字典中安全写入 NSArray
 *
 * @param array value
 * @param key string
 */
- (void)bba_setArray:(NSArray *)array forKey:(NSString *)key BDP_FOUNDATION_DEPRECATED("please use bdp_safeSetArray:forKey:");
- (void)bdp_safeSetArray:(NSArray *)array forKey:(NSString *)key;

/**
 * @brief 向可变字典中安全写入 NSDictionary
 *
 * @param dictionary value
 * @param key string
 */
- (void)bba_setDictionary:(NSDictionary *)dictionary forKey:(NSString *)key  BDP_FOUNDATION_DEPRECATED("please use bdp_safeSetDictionary:forKey:");
- (void)bdp_safeSetDictionary:(NSDictionary *)dictionary forKey:(NSString *)key;

@end

NS_ASSUME_NONNULL_END