You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SwiftUI官方教程第五章更新数据环节报错求助

SwiftUI教程第五章:DailyScrum初始化错误解决方案

在ScrumsView的"Add"按钮代码中执行let newScrum = DailyScrum(data: newScrumData)时,出现两个错误:

  • Extra argument 'data' in call
  • Missing arguments for parameters 'title', 'attendees', 'lengthInMinutes', 'theme' in call

问题原因

当前DailyScrum结构体仅提供了接受单个属性(title、String类型的attendees数组等)的初始化方法,没有定义接受DailyScrum.Data类型参数的构造器,因此无法直接通过Data实例创建DailyScrum对象。

解决方案

在DailyScrum的扩展中添加一个以Data为参数的初始化方法,提取Data中的属性值来初始化DailyScrum:

修改DailyScrum的扩展部分,添加如下初始化方法:

extension DailyScrum {
  // 保留原有扩展内容(Attendee、Data定义、data计算属性、update方法)...
   
  init(data: Data) {
    self.id = UUID()
    self.title = data.title
    self.attendees = data.attendees
    self.lengthInMinutes = Int(data.lengthInMinutes)
    self.theme = data.theme
  }
}

验证效果

添加上述初始化方法后,DailyScrum(data: newScrumData)即可正常创建DailyScrum实例,错误提示会消失,Add按钮功能可以正常工作。

内容的提问来源于stack exchange,提问作者niklas-246

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 10:18:36