gpt4 book ai didi

ios - Structs 中的函数 - 没有可访问的初始化程序错误 Swift

转载 作者:行者123 更新时间:2023-11-28 12:01:29 25 4
gpt4 key购买 nike

在构建我的第一个应用程序时,根据 SO 的大量建议,我有 2 个结构.... 1 个用于“WorkoutExercise”,一个用于“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/ )是我正确地插入了生成器的参数(“squat”和“maxReps:10”)所以不确定为什么这行不通? (在这种情况下,生成深蹲 + 随机次数 < 10 来自“var = test”)。

在此之后,我将尝试使用一组练习名称/最大重复值来存储我的所有练习,并随机抓取 3 - 6 个练习来创建一个完全随机的练习,但我认为(希望)我可以解决这个问题如果我明白这一点

最佳答案

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())

关于ios - Structs 中的函数 - 没有可访问的初始化程序错误 Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50018155/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com