如何在struct中写条件

How to write condition in struct

根据条件,如何设置 Dictionary 数组,否则只能设置 Dictionary for struct。

   struct Data {
        let id: String?
        let name: String?
        let subData:  Environment.Dev == "Dev_URL" ? [SubData]? : SubData?
    
        init(_ json: JSON) {
            id = json["id"].stringValue
            name = json["name"].stringValue
            subData =  Environment.Dev == "Dev_URL" ? json["sub_data"].arrayValue.map { SubData([=10=]) } : SubData(json["sub_data"])
        }
    }

// 子数据结构

   struct SubData {
        let id: String?
        init(_ json: JSON) {
            id = json["id"].stringValue
   }
}

我的反应结构因环境变化而改变。

如何为 let subData [SubData] 设置结构数据,即字典数组 else SubData 普通字典基于 Dev 或其他。

一种在两种情况下都使其成为数组的简单方法,因为在运行时无法确定类型

let subData:[SubData]?

然后

subData =  Environment.Dev == "Dev_URL"              
            ? json["sub_data"].arrayValue.map { SubData([=11=]) }
            : [SubData(json["sub_data"])]

您也可以将您的响应 sub_data 更改为在这两种情况下的数组,因此上面的行是

subData = json["sub_data"].arrayValue.map { SubData([=12=]) }

这样你就可以顺利地进行开发和发布