【发布时间】:2018-09-04 05:04:23
【问题描述】:
我有一个这样的 JSON 解析类
class JSONParser: NSObject {
let newJSONDecoder : JSONDecoder
let data : Data
init(decoder: JSONDecoder, data: Data, model: ) {
self.newJSONDecoder = JSONDecoder()
self.data = data
}
}
我们的目标是让model 参数成为一个可以接收任何数据和任何模型并创建一个对象并将其返回给调用类实例的类。 EG 下面
let jsonParser = JSONParser(myDecoder, data, struct)
let parsedArray = jsonParser.createJSONArray()
我可以将一个结构传递给struct 类型的JSONParser init 方法,而不是结构“类”名称类型(例如ModelStruct)吗?
最终,结构参数应该在这个函数中使用
try newJSONDecoder.decode(model.self, from:data!),所以第二个问题是如何将它放入该函数 - 如果打印为字符串将不起作用。
【问题讨论】:
-
你想传递特定的结构还是泛型?
-
通用结构 - 基本上是为了解析 JSON,因为我没有使用类。目标是在初始化时让依赖关系知道。
-
为什么不能直接使用
JSONDecoder?
标签: swift