判斷NSString字符串為空幾乎是每一個開發人員肯定會碰到的問題,對於絕大多數人最先閃過大腦的是下面的方法
if([yourTextString isEqualToString:@""])
但是很遺憾,這樣的判斷往往經常會出現失敗的情況,造成很多莫名其妙的bug,例如如果用這種方法判斷UITextField是否為空便會出現問題
[yourTextField.text isEqualToString:@""]
上面這行代即時在用戶未進行任何輸入的情況下,也會為NO,這是什么原因呢?
答案其實很簡單,yourTextField.text 在最初創建后的值為nil,nil當然不等於@"",故上面的代碼應該改為 :
[yourTextField.text isEqualToString:@""] || yourTextField.text == nil
上面這行代碼盡管可以正常工作了,不過每次都要寫這么一行代碼,實在是有點讓人郁悶,其實有一個變通的簡潔清晰方法,也是我建議大家使用的:
yourTextField.text.length == 0
是不是更簡潔了呢?