博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
为什么判断UITextField判断为空不能用isEqualToString:@""
阅读量:5294 次
发布时间:2019-06-14

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

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

if([yourTextString isEqualToString:@""])

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

[yourTextField.text isEqualToString:@""] 

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

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

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

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

yourTextField.text.length == 0

转载于:https://www.cnblogs.com/tanwen1989/p/3600133.html

你可能感兴趣的文章
关于数据库分布式架构的一些想法。
查看>>
大白话讲解 BitSet
查看>>
sql语句中where与having的区别
查看>>
Python数据分析入门案例
查看>>
0x7fffffff的意思
查看>>
Java的值传递和引用传递
查看>>
HTML5的服务器EventSource(server-sent event)发送事件
查看>>
vue-devtools 获取到 vuex store 和 Vue 实例的?
查看>>
Linux 中【./】和【/】和【.】之间有什么区别?
查看>>
Ubuntu sudo 出现 is not in the sudoers file解决方案
查看>>
内存地址对齐
查看>>
看门狗 (监控芯片)
查看>>
#ifndef #define #endif
查看>>
css背景样式
查看>>
JavaScript介绍
查看>>
js中函数与对象的使用
查看>>
正则表达式
查看>>
开源网络漏洞扫描软件
查看>>
yum 命令跳过特定(指定)软件包升级方法
查看>>
创新课程管理系统数据库设计心得
查看>>