博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS :Object-C 语言merge两个字典对象
阅读量:5135 次
发布时间:2019-06-13

本文共 1619 字,大约阅读时间需要 5 分钟。

Object-C 语言merge两个字典对象

- (id)mutableDictionaryCopyIfNeeded:(id)dictObj{    if ([dictObj isKindOfClass:[NSDictionary class]] &&        ![dictObj isKindOfClass:[NSMutableDictionary class]]) {        dictObj = [dictObj mutableCopy];    }    return dictObj;}/** 合并两个字典 @param dict 被合并的字典 */- (void)mergingWithDictionary:(NSDictionary *)dict{    for (id key in [dict allKeys]) {        id obj = [self mutableDictionaryCopyIfNeeded:[dict objectForKey:key]];        id localObj = [self mutableDictionaryCopyIfNeeded:[self objectForKey:key]];        if ([obj isKindOfClass:[NSDictionary class]] &&            [localObj isKindOfClass:[NSMutableDictionary class]]) {            // Recursive merge for NSDictionary            [localObj mergingWithDictionary:obj];        } else if (obj) {            [self setObject:obj forKey:key];        }    }}/** 合并两个字典 @param dict       被合并的字典 @param ignoredKey 忽略的Key */- (void)mergingWithDictionary:(NSDictionary *)dict ignoredDictKey:(NSString *)ignoredKey{    for (id key in [dict allKeys]) {        if ([key isEqualToString:ignoredKey]) {            continue;        }        id obj = [self mutableDictionaryCopyIfNeeded:[dict objectForKey:key]];        id localObj = [self mutableDictionaryCopyIfNeeded:[self objectForKey:key]];        if ([obj isKindOfClass:[NSDictionary class]] &&            [localObj isKindOfClass:[NSMutableDictionary class]]) {            // Recursive merge for NSDictionary            [localObj mergingWithDictionary:obj];        } else if (obj) {            [self setObject:obj forKey:key];        }    }}

转载于:https://www.cnblogs.com/ShaoYinling/p/5936421.html

你可能感兴趣的文章
django高级应用(分页功能)
查看>>
【转】Linux之printf命令
查看>>
关于PHP会话:session和cookie
查看>>
STM32F10x_RTC秒中断
查看>>
display:none和visiblity:hidden区别
查看>>
C#double转化成字符串 保留小数位数, 不以科学计数法的形式出现。
查看>>
牛的障碍Cow Steeplechase
查看>>
Zookeeper选举算法原理
查看>>
3月29日AM
查看>>
利用IP地址查询接口来查询IP归属地
查看>>
HTML元素定义 ID,Class,Style的优先级
查看>>
构造者模式
查看>>
http和https的区别
查看>>
Hbuild在线云ios打包失败,提示BuildConfigure Failed 31013 App Store 图标 未找到 解决方法...
查看>>
找到树中指定id的所有父节点
查看>>
今天新开通了博客
查看>>
AS3优化性能笔记二
查看>>
ElasticSearch(站内搜索)
查看>>
4----COM:a Generative Model for group recommendation(组推荐的一种生成模型)
查看>>
UVA 11137 - Ingenuous Cubrency
查看>>