"xx".isEmpty --推薦
"xx".count == 0 --不推薦,由於須要遍歷,費資源
複製代碼
但isEmpty沒法判斷這種狀況:bash
" ".isEmpty //false
複製代碼
這種所有是空格的字串也被判斷成了非空,也就是說Swift認爲" "
不是空字串。app
在實際開發中咱們通常不但願這樣。ui
String
加個擴展計算屬性:extension String {
var isBlank: Bool {
let trimmedStr = self.trimmingCharacters(in: .whitespacesAndNewlines)
return trimmedStr.isEmpty
}
}
" ".isBlank //true
複製代碼
"xx".trimmingCharacters(...)
複製代碼
顧名思義,截取字符串。spa
把字符串中的一些東西截掉,而後扔掉code
截掉哪些東西呢?--在括號裏面的參數中規定視頻
"xx".trimmingCharacters(in: CharacterSet.xxx)
複製代碼
參數是個CharacterSet
類型,顧名思義:字符集,也就是一堆字符的集合。教程
就是說把咱們日常見到的單個字符按照必定的條件進行了分類,好比:資源
CharacterSet.whitespacesAndNewlines--空格和換行符
CharacterSet.letters--全部英文字母的集合
...
複製代碼
他裏面有不少靜態方法,上面兩個就是,因此咱們能夠直接用CharacterSet.xx開發
你們能夠去文檔尋找更多用法: developer.apple.com/documentati…文檔
讓trimmingCharacters
截掉哪些字串呢,在這裏咱們是要截掉全部的空格和換行。
而後再把截掉後的字串用isEmpty來判斷,就能夠完美的排除用戶輸入空格的狀況了。
你們若是正好想學iOS開發的話,能夠來看看小弟的iOS視頻教程(永久更新+售後輔導): m.cctalk.com/inst/s9vfhe…