我正在尝试检测@
中的提到(使用UITextField
)。基本上,我要做的是将用户输入的文本String
转换为array
,然后遍历每个项,看看是否有@
前缀。出于某种原因,尽管我在提到的周围输入了较长的文本(或仅提到),但它显示了1个空字符串项。我显然做错了什么,但我不知道是什么
if let mentionsArray = self.commentTextField.text?.components(separatedBy: CharacterSet.whitespacesAndNewlines) {
for mention in mentionsArray {
if mention.hasPrefix("@") {
print(mention)
}
}
}
值得一提的是,这段代码是在闭包中运行的。
更新:代码实际上是有效的,但是下面的注释询问了
commentTextField.text
的内容是什么,它让我意识到,在达到这一点之前,我清空了文本字段的内容。 最佳答案
您的commentTextField
可能是空的。检查是否正在清除任何文本字段。如果为空,components(separatedBy: CharacterSet.whitespacesAndNewlines)
将返回空字符串。
关于swift - 检测UITextField中的提及不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51928339/