我会使用nodesWithDepth
个可解码的:
这在以前很管用:
public struct NEWTREE: Equatable, Codable {
public var Filename: String
public var GROUP: [GROUP]
public var ITEM: [ITEM]
public var CATEGORY: [CATEGORY]
public var ROOT: ROOT
但修改后的不是:
public struct NEWTREE: Equatable, Codable {
public var Filename: String
public var GROUP: [GROUP]
public var ITEM: [ITEM]
public var CATEGORY: [CATEGORY]
public var ROOT: ROOT
public var nodesWithDepth: [(text: String, depth: Int, type: TreeData2)]?
public init(from decoder: Decoder) throws {
let container = try decoder.container(keyedBy: CodingKeys.self)
Filename = try container.decode(String.self, forKey: .Filename)
GROUP = try container.decode([GROUP].self, forKey: .GROUP)
ITEM = try container.decode([ITEM].self, forKey: .ITEM)
CATEGORY = try container.decode([CATEGORY].self, forKey: .CATEGORY)
ROOT = try container.decode(ROOT.self, forKey: .ROOT)
}
private enum CodingKeys: String, CodingKey {
case Filename
case GROUP
case ITEM
case CATEGORY
case ROOT
}
但这引发了一个错误:
无法将类型为‘[[group]]’的值转换为预期的参数类型‘[group].Type’
我怎么才能修好?