在构建我的第一个应用程序时,根据SO的大量建议,我有2个结构.... 1个用于" WorkoutExercise"和#34; WorkoutExerciseGenerator"。
我试图测试我的发电机,但我得到了一个无法访问的初始化程序错误...
这里的结构1:
struct WorkoutExercise {
let name : String
let reps : Int
}
这里的结构2,底部有一点测试和打印(不起作用):
struct WorkoutExerciseGenerator {
let name: String
let maxReps: Int
func generate() -> WorkoutExercise {
return WorkoutExercise(
name: name,
reps: Int(arc4random_uniform(UInt32(maxReps))))
}
var test = WorkoutExerciseGenerator(name: "squat", maxReps: 10)
print (test.generate())
}
我的想法(在这里进行了一些研究https://www.natashatherobot.com/mutating-functions-swift-structs/)是我正确插入了生成器的参数("深蹲"" maxReps:10& #34;)所以不确定为什么这不起作用? (在这种情况下,生成深蹲+随机数量的代表< 10来自" var = test")。
在此之后,我将尝试使用一系列运动名称/最大重复值来存储我的所有练习并随机抓取3到6个练习来创建一个完全随机的训练,但我想(希望)我可以工作如果我得到这一点
答案 0 :(得分:2)
将test
变量和print
语句移出结构。
struct WorkoutExerciseGenerator {
let name: String
let maxReps: Int
func generate() -> WorkoutExercise {
return WorkoutExercise(
name: name,
reps: Int(arc4random_uniform(UInt32(maxReps))))
}
}
var test = WorkoutExerciseGenerator(name: "squat", maxReps: 10)
print (test.generate())