【问题标题】:How to check if a textFieldView is empty or has no spaces?如何检查 textFieldView 是否为空或没有空格?
【发布时间】:2016-09-28 17:16:44
【问题描述】:
textField.text.isEmpty
textField.text != ""

这两个函数将空格视为字符。但是,我希望我能够识别文本字段何时没有空格或不为空。

【问题讨论】:

标签: ios xcode swift


【解决方案1】:

Swift 4

extension String {
    var isReallyEmpty: Bool {
        return self.trimmingCharacters(in: .whitespaces).isEmpty
    }
}

【讨论】:

    【解决方案2】:

    只需检查修剪后的字符串是否为空

    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

    【讨论】:

      【解决方案3】:

      我在@Pieter21 的链接中使用了这个。 它适用于用户可以输入的尽可能多的空格。

      let myString = TextField.text
      
      let trimmedString = myString!.stringByTrimmingCharactersInSet(
          NSCharacterSet.whitespaceAndNewlineCharacterSet()
      )
      
      if trimmedString != "" {
          // Code if not empty
      } else {
          // Code if empty
      }
      

      【讨论】:

        猜你喜欢
        • 2014-04-11
        • 2017-08-19
        • 1970-01-01
        • 1970-01-01
        • 2014-03-09
        • 2023-03-30
        • 2012-12-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多