gpt4 book ai didi

json - Swift - 泛型上的 JSONEncoder

转载 作者:行者123 更新时间:2023-11-28 15:05:40 26 4
gpt4 key购买 nike

如何将通用结构发送到返回 JSON 的函数?

我正在尝试创建一个函数,它获取一个结构作为参数并返回一个 JSON 数据。我之所以这样做是因为我想避免重复,它将在多个地方和不同的结构中使用(即:用户、客户、联系人...)

struct User : Codable {
let email: String
let password: String
}

func makeJSONData<T>(_ value: T) -> Data {
var jsonData = Data()
let jsonEncoder = JSONEncoder()

do {
jsonData = try jsonEncoder.encode(value)
}
catch {
}
return jsonData
}

通过使用 makeJSONData,我得到一个错误:Argument type 'T' does not conform to expected type 'Encodable'

let user = User(email: emailTextField.text!, password : passwordTextField.text!)
let user2 = makeJSONData(user)

最佳答案

因为你没有定义T的类型,直接改

makeJSONData<T>

makeJSONData<T: Codable>

关于json - Swift - 泛型上的 JSONEncoder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48494560/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com