我想要使用输入字符串的任何匹配部分而不是前缀构建的建议列表。
我像这样构建建议列表:
func tokenField(_ tokenField: NSTokenField, completionsForSubstring substring: String, indexOfToken tokenIndex: Int, indexOfSelectedItem selectedIndex: UnsafeMutablePointer<Int>?) -> [Any]?
{ let allNames = ["aaaOneaa", "aaaTwoaa", "aaaThreeaa"]
let matching = allNames.filter { $0.lowercased().contains(substring.lowercased()) }
return matching
}
建议列表的构建工作正常。
我的问题是。如果用户在建议列表中的 NSTokenFiled 中输入“T”,“aaaTwoaa”和“aaaThreeaa”就会出现,如所愿。现在在 NSTokenfield 中选择“a”作为第一个字符。
如何将“T”保留为选定字符,以便用户可以键入“h”来获取“aaaThreeaa?