)
我已经更新了一个“锻炼对象”,使其具有最小和最大重复次数。
当我在操场上对下限进行硬编码时,我一直在使用:
let numberOfExercises = Int(arc4random_uniform(4) + 3)
当我尝试在函数中/与类对象中使用变量时,我收到错误“+'不可用:请使用显式类型转换或 Strideable 方法进行混合类型算术”,例如这里...
class ExerciseGeneratorObject: Object {
@objc dynamic var name = ""
@objc dynamic var minReps = 0
@objc dynamic var maxReps = 0
convenience init(name: String, minReps: Int, maxReps: Int) {
self.init()
self.name = name
self.minReps = minReps
self.maxReps = maxReps
}
func generateExercise() -> WorkoutExercise {
return WorkoutExercise(
name: name,
//get error on this line...
reps: Int(arc4random_uniform(UInt32(maxReps))+minReps)
)
}
}
这里有一个答案+ 不可用:请对混合类型算术使用显式类型转换或 Strideable 方法,但该方法已经在使用,所以看不到它在这里是如何适用的。
同样这里不推荐使用“+”:在 Swift 3.1 中不推荐使用混合类型添加,但再次认为这是一个不同的问题