swift - 返回可编码数组的结果
问题描述
试图弄清楚如何从我的 func 返回我的可编码 json 数据的结果。
class Service {
static let shared = Service()
let BASE_URL = "xxx"
func fetchClient(completion: @escaping ([Client]) -> ()) {
var clientArray = [Client]()
guard let url = URL(string: BASE_URL) else { return }
URLSession.shared.dataTask(with: url) { (data, response, error) in
// handle error
if let error = error {
print("Failed to fetch data with error: ", error.localizedDescription)
return
}
guard let data = data else {return}
do {
let clients = try JSONDecoder().decode([Client].self, from: data)
clientArray.append(clients)????
} catch let error {
print("Failed to create JSON with error: ", error.localizedDescription)
}
}.resume()
}
}
我知道我不能clients
直接附加到clientArray
,因为它本身就是一个数组,但我不确定如何解压它以便函数正确返回数据?谢谢
解决方案
你不需要var clientArray = [Client]()
。
替换clientArray.append(clients)????
为completion(clients)
推荐阅读
- c - 可信平台模块 (TPM) TSS 程序编译错误
- php - 如何测试系统的延迟功能?
- python - 如何将空列表转换为无值
- html - 如何将资产文件夹中的图像添加到本地 HTML 文件并在 Flutter WebView 中显示 HTML 文件
- azure-active-directory - 有关通过 Azure 应用程序代理/Azure AD 来宾用户使用 2 个域进行 SQL Server 混合解决方案身份验证的问题
- bash - 以防万一,通过修改重用函数
- spring - 如何忽略杰克逊添加的默认属性?
- python - 如何在 Azure 上安排 Python 脚本的执行
- java - 是否可以在抛出异常时自动调用内部异常方法?
- firebase - 如何安全地将经过身份验证的用户 UID 添加到 Firestore 文档中?