为什么判断UITextField判断为空不能用isEqualToString:@""
2014-03-14 11:19
417 查看
判断NSString字符串为空几乎是每一个开发人员肯定会碰到的问题,对于绝大多数人最先闪过大脑的是下面的方法
if([yourTextString isEqualToString:@""])
但是很遗憾,这样的判断往往经常会出现失败的情况,造成很多莫名其妙的bug,例如如果用这种方法判断UITextField是否为空便会出现问题
[yourTextField.text isEqualToString:@""]
上面这行代即时在用户未进行任何输入的情况下,也会为NO,这是什么原因呢?
答案其实很简单,yourTextField.text 在最初创建后的值为nil,nil当然不等于@"",故上面的代码应该改为 :
[yourTextField.text isEqualToString:@""] || yourTextField.text == nil
上面这行代码尽管可以正常工作了,不过每次都要写这么一行代码,实在是有点让人郁闷,其实有一个变通的简洁清晰方法,也是我建议大家使用的:
yourTextField.text.length == 0
if([yourTextString isEqualToString:@""])
但是很遗憾,这样的判断往往经常会出现失败的情况,造成很多莫名其妙的bug,例如如果用这种方法判断UITextField是否为空便会出现问题
[yourTextField.text isEqualToString:@""]
上面这行代即时在用户未进行任何输入的情况下,也会为NO,这是什么原因呢?
答案其实很简单,yourTextField.text 在最初创建后的值为nil,nil当然不等于@"",故上面的代码应该改为 :
[yourTextField.text isEqualToString:@""] || yourTextField.text == nil
上面这行代码尽管可以正常工作了,不过每次都要写这么一行代码,实在是有点让人郁闷,其实有一个变通的简洁清晰方法,也是我建议大家使用的:
yourTextField.text.length == 0
相关文章推荐
- Distinct Subsequences 挖坑待填 想不大明白这个最优子结构。。
- 理解Scroll View
- 给easyui datagrid添加搜索栏
- 将像素绘制到屏幕上去
- event.returnValue和return false的区别
- Android 如何在自定义界面上启用输入法 (How to enable inputmethod for the custom UI)
- 扩大UIButton的点击区域
- iOS开发 贝塞尔曲线UIBezierPath
- php里include,include_once, require和require_once的区别
- easyui 关于渲染的问题。
- 10G日志报错Heap size 2119K exceeds notification threshold (2048K)
- 关于ios7UI适配问题
- iOS 7 UI Transition Guide - Scope the Project | 研究工程
- iOS 7 UI Transition Guide - Before you start | iOS 7 界面过渡指导,在你开始前
- easyUI使用摘要
- NGUI自适应屏幕分辨率
- js EXT : loadMask : true
- js: EXTjs forceFit : true
- UVa 834 - Continued Fractions
- Balloon.2.3 —— UI组件之通用属性和方法