小编Ren*_*iar的帖子

SWIFT Struct 上的泛型

我正在尝试在 SWIFT 上创建通用结构以与 JSON 和 Codable 一起使用,但我不知道是否可行。

没有泛型,它就可以工作。

struct apiContainer: Decodable {
    let meta: Meta
    let result: [Client]
}
Run Code Online (Sandbox Code Playgroud)

我有一个名为“Client”的结构,我想要其他结构,例如:所有者、工厂等。

所有 JSON 响应都必须发送到 apiContainer。它有元和[客户端]。

我的目标是使 [Client] 成为 [T],这样我就可以将任何结构传递给 apiContainer。

波纹管是我在操场上尝试的一段代码。

问题: 有可能吗?我怎样才能做到(在结构和 json.decode 行上)

import PlaygroundSupport
import UIKit
import Foundation


struct Client: Decodable {
    let name: String
    let postal_code: String
    let city: String
}

struct Meta: Decodable {
    let sucess: String
    let value: String
}

struct apiContainer<T>: Decodable {
    let meta: Meta
    let result: [T]
}

let json = """ …
Run Code Online (Sandbox Code Playgroud)

generics json struct swift

4
推荐指数
1
解决办法
1964
查看次数

标签 统计

generics ×1

json ×1

struct ×1

swift ×1