zoukankan      html  css  js  c++  java
  • 为什么判断UITextField判断为空不能用isEqualToString:@""

    判断NSString字符串为空几乎是每一个开发人员肯定会碰到的问题,对于绝大多数人最先闪过大脑的是下面的方法

    if([yourTextString isEqualToString:@""])

    但是很遗憾,这样的判断往往经常会出现失败的情况,造成很多莫名其妙的bug,例如如果用这种方法判断UITextField是否为空便会出现问题

    [yourTextField.text isEqualToString:@""] 

    上面这行代即时在用户未进行任何输入的情况下,也会为NO,这是什么原因呢?

    答案其实很简单,yourTextField.text 在最初创建后的值为nil,nil当然不等于@"",故上面的代码应该改为 :

    [yourTextField.text isEqualToString:@""]  || yourTextField.text == nil

    上面这行代码尽管可以正常工作了,不过每次都要写这么一行代码,实在是有点让人郁闷,其实有一个变通的简洁清晰方法,也是我建议大家使用的:

    yourTextField.text.length == 0 

    是不是更简洁了呢? 

  • 相关阅读:
    bzoj 2832
    洛谷5月月赛
    P4705 玩游戏
    【bzoj4817】[Sdoi2017]树点涂色&&bzoj3779-重组病毒
    A
    P4715 「英语」Z 语言
    P4714 「数学」约数个数和
    P2860 [USACO06JAN]冗余路径Redundant Paths
    【BZOJ3252】攻略
    BZOJ 1706
  • 原文地址:https://www.cnblogs.com/BigPolarBear/p/2415431.html
Copyright © 2011-2022 走看看