【发布时间】:2023-12-20 20:35:02
【问题描述】:
)
我更新了一个“锻炼对象”,使其具有最小和最大重复次数。
当我在操场上硬编码下限时,我一直在使用:
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)
)
}
}
+ is unavailable: Please use explicit type conversions or Strideable methods for mixed-type arithmetics 这里有一个答案,但该方法已经在使用,所以看不到它在这里如何适用。
也在这里'+' is deprecated: Mixed-type addition is deprecated in Swift 3.1 但再次认为这是一个不同的问题
【问题讨论】:
-
使用这个
Int(arc4random_uniform(UInt32(maxReps)))+minReps