nil和Nil和NULL的判断
2015-08-09 14:48
225 查看
,nil和Nil和NULL的判断
开 发过程中,我们通过http请求,后台返回json数据,而有时数据里某一字段的值为null~,然后我们把此值赋值给 NSArray,NSdictionary,或是NSString,然后我们会判断此值为null时,所做的处理,而通常惯性思维判断时我们都会 写:if(dict == nil)或是if(dict == Nil)或是if(dict == NULL)再或是if(dict isEqual nil),我们发现,都不好用,根本没有起到判断的作用~后来我才发现,原来不能这样来判断。简单点说,就是当字典,数组为null时,后台打印的输出结果是这样:
然后,我们需要在代码判断时利用[NSNull null]来判断,具体如:
isEqual:[NSNull null] 就搞定了,nsarray也是同样的道理。
控制台打印:str=(null) 代表着 字符串或数组或字典是一个空指针,(而非空字符串)判断的时候,直接用:
if(str == nil)就可以了。如下图所示:
而控制台打印:str = <null>,代表着这是一个空字符串,赋值为空,指针是存在的,只是内容为空,这种判断需要使用:
if(str is equal [NSNull null ]) ,因为在ios上,内容为空不能简单的判断str==null(null 在ios上得用[NSNull null])
一般这种情况是,服务器那边是null,直接返回@"null"的字符串,这样在ios这边不好判断,最好跟后台沟通,如果遇到null值,返回@"",好做判断
相关文章推荐
- Webform 分页
- 缓存和sd卡的路径(原)
- shell注释
- Lost Cows
- 今天起,用博客记录学习和总结,尝试写作,提高自己,加油!
- POJ 1050 To the Max && POJ 2479 Maximum sum(DP最大连续子段和)
- trustzone技术
- centos 安装ganglia监控工具
- hdu 4622 Reincarnation(后缀自动机,入门级)
- Use After Free Tutorial
- HDOJ 5361 In Touch dijkstra最短路
- LeetCode:Add Two Numbers
- Android之——清理手机SD卡缓存
- python中的break|continue|pass|return
- Android相关博客网址收集
- neuoj 1153
- 【机房收费系统】 之 报表
- C编程的指针涛 ---第十笔记
- 数据点间的相似度-距离计算方法
- ASP.NET MVC5(2)视图