textField.text.isEmpty
textField.text != ""
这两个函数将空格视为字符。但是,我希望我能够识别文本字段没有空格或不为空。
答案 0 :(得分:3)
检查修剪后的字符串是否为空
let isEmpty = str.stringByTrimmingCharactersInSet(.whitespaceAndNewlineCharacterSet()).isEmpty
您甚至可以将其放在String
扩展名中:
extension String {
var isReallyEmpty: Bool {
return self.stringByTrimmingCharactersInSet(.whitespaceAndNewlineCharacterSet()).isEmpty
}
}
它甚至适用于var str = " "
之类的字符串(包含空格,制表符和zero-width spaces)。
然后只需检查textField.text?.isReallyEmpty ?? true
。
如果您想更进一步(我不会)将其添加到UITextField
分机:
extension UITextField {
var isReallyEmpty: Bool {
return text?.stringByTrimmingCharactersInSet(.whitespaceAndNewlineCharacterSet()).isEmpty ?? true
}
}
您的代码变为textField.isReallyEmpty
。
答案 1 :(得分:0)
我在@ Pieter21的链接中使用了这个。 它适用于用户可以输入的空白区域。
let myString = TextField.text
let trimmedString = myString!.stringByTrimmingCharactersInSet(
NSCharacterSet.whitespaceAndNewlineCharacterSet()
)
if trimmedString != "" {
// Code if not empty
} else {
// Code if empty
}
答案 2 :(得分:0)
在Swift 4
中,
extension String {
var isReallyEmpty: Bool {
return self.trimmingCharacters(in: .whitespaces).isEmpty
}
}