gpt4 book ai didi

ios - Swift:尝试创建泛型类型初始值设定项

转载 作者:行者123 更新时间:2023-11-30 12:22:11 24 4
gpt4 key购买 nike

我在这里我的头

。我正在尝试解决这个“容易”理解的问题。我有一个 API Endpoint,我正在发送它来请求来自许多不同类的请求。假设我有一个 Tweet 类和 User 类。

class Tweet {

var id: String!
var description: String!

required init() { }

}

class User {

var id: String!
var username: String!
var likes : Int!

required init() { }

}

现在,根据 Class 请求来源,我将得到一个带有 Array 的响应,其中每个元素都拥有与源 Class 完全相同的属性JSON。来自 Tweet Class 的示例请求:

  "data":
[{
{
"id": "492",
"description": "HELP!"
},
{
"id": "574",
"description": "ME!"
}
]}

现在,我正在尝试创建一个通用方法,它会自动将这些方法解析为包含来自 pass Class 类型的对象的 Array这是我尝试过的

func sendRequest<T>(resource: T.Type,withProperyList propList : [String], completion: @escaping ([T]?) -> ()) { 


// Create NSURLSession request, fetching data.. converting to json..

guard let mainArray = json["data"] as? NSArray else { return }

for element in mainArray {

let tweet = T() // **Error here**

}

错误:** 无法构造“T”,因为它没有可访问的初始值设定项

如何以通用方式访问我的通用类型类?这意味着我将传递 Class 类型并能够将其应用于“T”。我尝试将输入参数传递给它,但没有帮助。我就是想不通。有什么想法吗?

最佳答案

试试这个,而不是T()

let tweet = resource.init()

关于ios - Swift:尝试创建泛型类型初始值设定项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44665489/

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