iOS :Object-C 语言merge两个字典对象
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
iOS :Object-C 语言merge两个字典对象相关推荐
- PDF加密、解密内幕(一) PDF加密字典对象分析
PDF加密.解密内幕(一) - PDF加密字典对象分析 0 几个关键词的说明 PDF加密有两个口令即:Owner(to set the pdf document Permission or chang ...
- PDF加密、解密内幕(一)- (PDF加密字典对象分析)
PDF加密.解密内幕(一) - PDF加密字典对象分析 0 几个关键词的说明 PDF加密有两个口令即:Owner(to set the pdf document Permission or chang ...
- 如何在一个表达式中合并两个字典?
我有两个Python字典,我想编写一个返回合并的这两个字典的表达式. 如果update()方法返回其结果而不是就地修改dict,则将是我需要的方法. >>> x = {'a': 1, ...
- Android Swift iOS开发:语言与框架对比
转载自:http://www.infoq.com/cn/articles/from-android-to-swift-ios?utm_campaign=rightbar_v2&utm_sour ...
- iOS开发笔记 - 语言篇之Swift
2014年的苹果全球开发者大会(WWDC),当Craig Federighi向全世界宣布"We have new programming language"(我们有了新的编程语言 ...
- 系列:iOS开发-C语言基础
#系列:iOS开发-C语言基础 之前也说了iOS中的OC是扩充C的面向对象编程语言 那么无论是从什么角度来说都要首先回顾一下C的内容,虽然很多人在大学的时候都有学习过C语言,一提到谭浩强,我估计90% ...
- 【面试题】python怎么合并两个字典
Python中将两个字典进行合并操作,是一个比较常见的问题.本文将介绍几种实现两个字典合并的方案,并对其进行比较. 对于这个问题,比较直观的想法是将两个字典做相加操作,赋值给结果字典,其代码为: [方 ...
- iOS 设置app语言中文,比如 copy中文,拍照按钮cancel 中文
iOS 设置app语言中文,比如 copy中文,拍照按钮cancel 中文 一:如何设置项目中文环境 targets--->Locatization native development reg ...
- ios c语言头文件,iOS开发 -- C语言基础12(预处理指令)
iOS开发 -- C语言基础12(预处理指令) 宏定义 预处理指令简介 1.C语言在对源程序进行编译之前,会先对一些特殊的预处理指令作解释(比如之前使用的#include文件包含指令),产生一个新的源 ...
最新文章
- pcDuino 软件更新
- (转载)计算机科学中最重要的32个算法
- python 服务端渲染_客户端渲染和服务器渲染的区别
- SQL基础选段(2)
- TensorFlow系列(一):TensorFlow是什么
- service mysqld start,Failed to start mysqld.service: Access denied
- python安装各种插件
- CNN卷积神经网络(吴恩达《卷积神经网络》笔记一)
- CVPR 2021 论文分享会预告
- 【QT】QT从零入门教程(九):QT常用控件 [QSlider、QSpinBox、QComboBox、QRadioButton]
- 张一鸣的心里“住着小马哥”
- 递增的整数序列链表的插入_leetcode673_go_最长递增子序列的个数
- jsp内置对象练习题
- MD5碰撞,不同的原始数据,MD5后,值一样,出现碰撞
- 重磅!超详细的 JS 数组方法整理出来了
- 高德地图API的一些使用心得
- 怎么更改计算机管理员的用户名,如何修改系统默认账户administrator
- 怎样在word中画横线
- 梯度消失/爆炸与RNN家族的介绍(LSTM GRU B-RNN Multi-RNNs)-基于cs224n的最全总结
- 讲座报名 | 清华大学副教授刘知远:大模型十问
热门文章
- SCCM2012系列之六,SCCM2012部署前的WDS准备
- 恶意软件借手机游戏强行吸取流量,使用代码签名证书验明证身
- mysql install语句_MySQL入门学习(一)安装与基本操作
- python3.9新特性_Python 3.9正式版,新特性提前一睹为快
- “订阅”与“反向订阅”--简书功能设计探索
- 【转载】网络通讯协议的国际斗争
- Android Studio 设置HTTP代理无法取消的问题
- 浅谈格斗游戏的精髓——方块的战争
- Discuz论坛分表以及memcache缓存优化
- vconsole在手机真机模拟器上显示console控制台