textField.text.isEmpty
textField.text != ""
这两个函数将空格视为字符。然而,我希望我的函数能够识别文本字段没有空格或不为空的情况。
textField.text.isEmpty
textField.text != ""
只需检查修剪后的字符串是否为空
let isEmpty = str.stringByTrimmingCharactersInSet(.whitespaceAndNewlineCharacterSet()).isEmpty
String
扩展中:extension String {
var isReallyEmpty: Bool {
return self.stringByTrimmingCharactersInSet(.whitespaceAndNewlineCharacterSet()).isEmpty
}
}
它甚至可以处理像 var str = " "
这样的字符串(其中包含空格、制表符和零宽度空格)。
然后只需检查 textField.text?.isReallyEmpty ?? true
。
如果你想更进一步(我不建议),将其添加到 UITextField
扩展中:
extension UITextField {
var isReallyEmpty: Bool {
return text?.stringByTrimmingCharactersInSet(.whitespaceAndNewlineCharacterSet()).isEmpty ?? true
}
}
你的代码变成了textField.isReallyEmpty
。
extension String {
var isReallyEmpty: Bool {
return self.trimmingCharacters(in: .whitespaces).isEmpty
}
}
我使用了@Pieter21提供的链接。 它可以处理用户输入的任意数量的空格。
let myString = TextField.text
let trimmedString = myString!.stringByTrimmingCharactersInSet(
NSCharacterSet.whitespaceAndNewlineCharacterSet()
)
if trimmedString != "" {
// Code if not empty
} else {
// Code if empty
}