Swift 自定义结构缺少参数 "from: Decoder"

Swift Custom Struct missing argument "from: Decoder"

您好,我正在使用 SwiftUI 并尝试为我的一个视图创建一个 ObservableObject。

class ResponseModelObject: ObservableObject {
    @Published var response = SongLinkAPIResponse()
}

SongLinkAPIResponse 看起来像:

public struct SongLinkAPIResponse: Codable, Equatable {
    public var entityUniqueId: String
    public var userCountry: String
    public var pageUrl: URL
    public var entitiesByUniqueId: [EntityUniqueId:Entity]
    public var linksByPlatform: [Platform.RawValue:PlatformInfo]
}

但是我的问题是我在 @Published 属性 上收到错误 Missing argument for parameter 'from' in call。来自 属性 的是一个解码器,但我还没有为 SongLinkAPIResponse 定义初始化,所以我不确定该怎么做?

我确定我遗漏了一些简单的东西。

符合 Codable 会自动为您的 class 创建 init(from:)

SongLinkAPIResponse() 等同于 SongLinkAPIResponse.init().

您必须在 class:

中指定一个初始化程序
init() {
    // init properties here
}

或者,您可以为属性提供默认值:

public struct SongLinkAPIResponse: Codable, Equatable {
    public var entityUniqueId: String = "" // some default value
    ...
}