首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >插入“出发地:<#Decoder#>”

插入“出发地:<#Decoder#>”
EN

Stack Overflow用户
提问于 2021-10-07 19:32:32
回答 1查看 497关注 0票数 0

我有以下模式:

代码语言:javascript
复制
struct MyModel: Codable, Hashable {
    let data: ASubModelData
    let error: Bool?
    let error_message: String?
    let error_code: Int?
}

我试图在视图中创建一个变量,这样我就可以将值赋值如下:

代码语言:javascript
复制
@State var myVar: MyModel? = MyModel()

但它带来了一个错误:

代码语言:javascript
复制
Insert 'from: <#Decoder#>'

如果我撞到fix,就会觉得:

代码语言:javascript
复制
@State var myVar: MyModel? = MyModel(from: Decoder)

这是错误的,它也给出了一个错误,我如何才能创建一个变量,它是该模型的一个空实例?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-07 19:43:35

您的struct除了用于解码的初始化器外,没有其他的初始化器。您必须添加初始化器init()

代码语言:javascript
复制
init() {
  data = ?
  error = nil
  error_message = nil
  error_code = nil
}

但是,由于MyModel包含的属性不是可选的,所以最好用nil初始化它。

代码语言:javascript
复制
@State var myVar: MyModel?
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69486855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档