2

我想要使​​用输入字符串的任何匹配部分而不是前缀构建的建议列表。

我像这样构建建议列表:

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?

4

0 回答 0