博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
慎用dictionaryWithObjectsAndKeys方法
阅读量:6946 次
发布时间:2019-06-27

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

有这样一段代码:

NSDictionary* items2=[NSDictionary dictionaryWithObjectsAndKeys:

  [d objectForKey:@"GZDBH"],@"工作单编号",

  [d objectForKey:@"LDSJ"],@"来电时间",

  [d objectForKey:@"SLWCSJ"],@"受理完成时间",

  [d objectForKey:@"SLR"],@"受理人",

  [d objectForKey:@"ZJHM"],@"主叫号码",

  [d objectForKey:@"LXR"],@"联系人",

  [d objectForKey:@"LXDH"],@"联系电话",

  [d objectForKey:@"BXDZ"],@"报修地址",

  [d objectForKey:@"CLLX"],@"故障类型",

  [d objectForKey:@"JRLX"],@"接入类型",

  [d objectForKey:@"CLQY"],@"处理区域",

  [d objectForKey:@"FWJB"],@"服务级别",

  [d objectForKey:@"JJCD"],@"紧急程度",

  [d objectForKey:@"YXFW"],@"影响范围",

  [d objectForKey:@"QKMS"],@"受理情况",

  nil];

但是后来发现items2中始终只有一个对象“工作单编号“,检查后发现,其中“来电时间”对象是空,而dictionaryWithObjectsAndKeys方法在遇到nil对象时,会以为是最终的结束标志。于是items中只放了一个对象就初始化结束了,而且不管编译和运行中都不会报错,这样的bug显然很隐蔽。

转载于:https://www.cnblogs.com/roselife/archive/2012/10/08/2714978.html

你可能感兴趣的文章
了解大数据的特点、来源与数据呈现方式
查看>>
spring 组件扫描配置说明component-scan
查看>>
Clarke and five-pointed star
查看>>
设计模式系列2-----C++实现责任链模式(Chain of Responsibility)
查看>>
20189312任方园《网络攻防》第六次作业
查看>>
php
查看>>
职场人的“存在主义”哲学
查看>>
在路上【我与51CTO的故事】
查看>>
演示:外部全局地址与外部局部地址的使用案例
查看>>
Exchange Server 2013 公网发布疑难解答
查看>>
Oracle 12c dataguard云上挖坑记--为某机场贵宾业务部署oracle 12c到云端
查看>>
前端开发在不久的将来定会成为主导
查看>>
jQuery内ready与load事件的区别
查看>>
[笔记].关于Stratix III使用非易失加密后,无法正常配置启动的问题探讨
查看>>
一个通用的单元测试框架的思考和设计03-实现篇-核心类源码
查看>>
载入史册 改变IT安全历程的十大里程碑
查看>>
UVA 624 CD
查看>>
Windows phone 7: DataBinding and UI Refresh系列教程
查看>>
矩阵快速幂 学习笔记
查看>>
linux iconv 批量转码
查看>>