我的项目抱怨在电话中有一个“额外参数'持续时间'。”这是它正在发生的地方
required init(coder aDecoder: NSCoder) {
workout = Workout(title: "Luke's Workout Plan", exercisePeriods: [
ExercisePeriod(duration: 5, intensity: .High), //error
ExercisePeriod(duration: 1, intensity: .Low), //error
ExercisePeriod(duration: 5, intensity: .High), //error
ExercisePeriod(duration: 1, intensity: .Low) //error
]
)
super.init(coder: aDecoder)
}
这些变量在这里定义:
struct ExercisePeriod: Printable {
let duration: NSTimeInterval = 0
let intensity: Intensity = .High
// TODO: Make ExercisePeriod loggable
var description: String {
return "\(intensity.rawValue) for \(duration) seconds"
}
}
这里出了什么问题?
答案 0 :(得分:2)
您要在duration
结构的定义中为intensity
和ExercisePeriod
分配值。 let
只允许您分配一次值,因此您无法在构造函数中分配另一个值。要解决此问题,请使用duration
或定义intensity
和var
,删除duration
和intensity
的默认值。