【发布时间】:2020-12-23 05:17:58
【问题描述】:
我需要将 JSON 对象从 Algolia 映射到模型。
这是我的 ViewModel:
import Foundation
import AlgoliaSearchClient
class AlgoliaViewModel: ObservableObject {
@Published var idList: [MySearchModel] = []
func search(text: String, index: String) {
let client = SearchClient(appID: "XXX", apiKey: "XXX")
let index = client.index(withName: IndexName(rawValue: index))
let query = Query(text)
index.search(query: query) { result in
if case .success(let response) = result {
print("Response: \(response)")
do {
let hits: Array = response.hits
DispatchQueue.main.async {
self.idList = hits.map({
MySearchModel(searchValue: $0.objectID.rawValue)
})
print(self.idList)
}
}
catch {
print("JSONSerialization error:", error)
}
}
}
}
}
目前,我只有一个模型,其 objectID 为 searchValue。
如何访问我的对象的所有其他属性并将它们映射到模型?
【问题讨论】:
标签: ios json swift mvvm algolia