判断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
但是如果判断是否只输入了空格那就木有这么简单啦!就像游戏中一些苦逼玩家居然没名字!其实是敲得空格