【发布时间】:2018-03-26 15:08:42
【问题描述】:
设置:一个 UITextField 和一个带有建议用户的 Tableview 我尝试得到以下结果:
我希望用户能够链接其他用户。 只要我用数组中的最后一个单词搜索它就可以正常工作
let caption = captionTextView.text
let words = caption?.components(separatedBy: .whitespacesAndNewlines)
guard let searchingWord = words?.last else {return}
if searchingWord.hasPrefix("@") {
self.indicator.startAnimating()
let search = searchingWord.trimmingCharacters(in: CharacterSet.punctuationCharacters).lowercased()
}
但如果用户想在数组中间或至少不在数组末尾调整用户名,搜索功能将无法正常工作,因为它仍然使用数组中的最后一个单词进行搜索
例子:
"Hey how are you @Lisa @Marcel @Thomas"
如果用户想要将“@Lisa”更改为“@Lisbeth”,搜索功能将搜索 Thomas 作为数组中的最后一个单词
我无法获取我正在处理的单词,只有数组中的最后一个和第一个单词,但是我能够获取当前光标位置
let cursor = captionTextView.cursorOffset!
这是一个扩展。
那么我如何得到我正在处理的单词,直到左边的下一个“@”和右边的下一个空格?提前致谢!
【问题讨论】: