為什么判斷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 

是不是更簡潔了呢? 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM