我有这样一行代码:
randomIndex = Int(drand48() % Double(alphabetColors.count))
而 Xcode 8(Swift 3)告诉我:
'%' is unavailable: Use truncatingRemainder instead
现在没有运算符了吗?我应该如何转换我的代码?
我有这样一行代码:
randomIndex = Int(drand48() % Double(alphabetColors.count))
而 Xcode 8(Swift 3)告诉我:
'%' is unavailable: Use truncatingRemainder instead
现在没有运算符了吗?我应该如何转换我的代码?
您可以简单地按照诊断信息进行操作:
let randomIndex = Int(drand48().truncatingRemainder(dividingBy: Double(alphabetColors.count)))
或者使用arc4random_uniform(_:)
可能是更好的选择。
let randomIndex = Int(arc4random_uniform(UInt32(alphabetColors.count)))
在取模之前,将您的变量转换为 Int
示例
let result = Int(value) % 3
根据新的指南,Swift 5已经发生了变化。
value.truncatingRemainder(dividingBy: 2)
您可以使用此代码来查找2个数字的模数。 label.text用于在我已经设计好的标签中显示结果
let result = Int(num1) % Int(num2)
label.text = String(Int(result))
使用https://developer.apple.com/documentation/swift/double/2884269-remainder
如果您使用truncatingRemainder(如其他评论中所述),它将首先将值向下取整,这意味着3.14将变为3。