#swift
#быстрый
Вопрос:
Поэтому я использую FireStore в качестве своего бэкэнда. У меня есть поле под названием keywords, в котором пользователи могут искать продукты без необходимости вводить полное название товара, т.Е. «Клубничный торт» будет сохранен как so:
0 "s"
1 "st"
2 "str"
3 "stra"
4 "straw"
Однако проблема заключается в полном сроке — клубничный торт будет сохранен таким образом:
56 "strawberrycake"
Но я также хотел бы, чтобы этот результат появлялся, когда пользователи просто вводят «торт», однако из-за того, что термин «торт» не сохраняется или термин «торт» разделен на отдельные символы, это невозможно.
Это код, который у меня есть в настоящее время:
extension Array {
func splitted(into size: Int) -> [[Element]] {
var splittedArray = [[Element]]()
if self.count >= size {
for index in 0...self.count {
if index % size == 0 amp;amp; index != 0 {
splittedArray.append(Array(self[(index - size)..<index]))
} else if (index == self.count){
splittedArray.append(Array(self[index - 1..<index]))
}
}
} else {
splittedArray.append(Array(self[0..<self.count]))
}
return splittedArray
}
}
Я считаю, что функции необходимо будет обнаруживать пробелы и разделять их на символы, независимо от того, что находится после пробела, а затем удалять пробелы для полного поискового запроса? Это моя теория.
И идея о том, как я могу этого добиться?
Комментарии:
1. Неясно, чего вы пытаетесь достичь. Не могли бы вы, пожалуйста, отредактировать свой вопрос и добавить четкий пример ввода и ожидаемого результата? В вашем вопросе нет массива.
2. Если у вас есть данные в вашем Firestore, вы можете получить их и работать с «панелью поиска» в swift. Я думаю, что это решает ваш вопрос.