我正在使用Appwrite与Swift,我试图使用convertTo函数来获得文档的JSON结构,但我不确定如何进行。
下面是我想使用的函数
public func convertTo<T>(fromJson: ([String: Any]) -> T) -> T {
return fromJson(data)
}
这里是我的代码(我试图转换每个文档documentLits.documents写入LocationAP结构体):
Task {
let documentList = try await AppwriteVM.instance.database.listDocuments(
collectionId: "626b97104b392350d53e"
)
for document in documentList.documents {
let decodedDocument: LocationAP = document.convertTo(fromJson: ?????)
print(decodedDocument.name)
}
}
下面是LocationAP结构的定义:
struct LocationAP: Codable {
var id: String
var name: String
var latitude: Double
var longitude: Double
}
我的问题是我不确定如何处理文档。convertTo(fromJson: <# t# #([String: Any]) ->T #祝辞)函数,这里是我的代码截图:
代码截图有人知道怎么继续吗?
正如Joakim所说,您必须编写包含如何转换字典的代码的闭包
let converter : ([String:Any]) -> LocationAP = { dictionary in
// do the conversion and
// return a LocationApi instance
}
for document in documentList.documents {
let decodedDocument = document.convertTo(fromJson: converter)
print(decodedDocument.name)
}