确定 swift 文本字段的第一个字母

Determining the first letter of the swift text field

我想确定文本字段中的第一个字母是什么。我想确定第一个字母是@还是#。我该怎么办?

    func search() {
        
        searchBar.searchTextField.text?.first
    }

您可以用要检查的字符声明一个变量,并检查 UITextField 的第一个字符是否在该数组中:

let checkedCharacters = ["@", "#"]
if let firstCharacter = searchBar.searchTextField.text?.first {
    let containsCharacter = checkedCharacters.contains(firstCharacter)
}

要使可选字符串能够从多个字符串中检查前缀:

extension Optional where Wrapped: StringProtocol {
    func hasPrefix(_ ss: [String]) -> Bool {
        guard let s = self else { return false }
        return ss.first(where: s.hasPrefix) != nil
    }
}

searchBar.searchTextField.text.hasPrefix(["@", "#"])