Код: Выделить всё
import SwiftUI
struct Book: Hashable {
var bookName: String
var authorName: String
}
struct ContentView: View {
let bookData: [String: [Book]] = ["Fictional": [Book.init(bookName: "titleA", authorName: "AuthorA"), Book.init(bookName: "titleB", authorName: "AuthorB")],
"Non-Fictional": [Book.init(bookName: "titleCA", authorName: "AuthorC")]]
var body: some View {
VStack {
Text("Hello World")
}
.onAppear {
let matchingResults = bookData.filter({ $0.value.filter({ $0.bookName.localizedCaseInsensitiveContains("A") }) })
// Expecting below output since book names have 'A' in it.
// ["Fictional": [Book.init(bookName: "titleA", authorName: "AuthorA")], "Non-Fictional": [Book.init(bookName: "titleCA", authorName: "AuthorC")]]
}
}
}
Код: Выделить всё
["Fictional": [Book.init(bookName: "titleA", authorName: "AuthorA")], "Non-Fictional": [Book.init(bookName: "titleCA", authorName: "AuthorC")]]Но вместо этого я вижу следующую ошибку: "Невозможно преобразовать значение типа '[Employee]' в тип результата закрытия 'Bool '" в строке, где я фильтрую данные, т.е. "searchResults = groupedEmployees.filter({ $0.value.filter({ $0.fullName.localizedCaseInsensitiveContains(searchTerm) }) })"
Как выполнить поиск в массиве пользовательских объектов в словаре?
Подробнее здесь: https://stackoverflow.com/questions/785 ... dictionary
Мобильная версия