operator swift3 modulus

swift3 - operator - ¿Cuál es el operador de módulo(%) en swift 3?



swift 4 operators (4)

Convierte tu variable a Int antes de mod

ejemplo

let result = Int(value) % 3

Tengo esta linea

randomIndex = Int(drand48() % Double(alphabetColors.count))

Y Xcode 8 (Swift 3) me dice:

''%'' is unavailable: Use truncatingRemainder instead

¿Ya no hay operador? ¿Cómo debo convertir mi código?


Simplemente puede seguir el mensaje de diagnóstico:

let randomIndex = Int(drand48().truncatingRemainder(dividingBy: Double(alphabetColors.count)))

O usar arc4random_uniform(_:) sería una mejor alternativa.

let randomIndex = Int(arc4random_uniform(UInt32(alphabetColors.count)))



Esto parece estar disponible para mí, actualmente en Swift 3.1, así que es posible que se haya agregado nuevamente.

Mi conjetura es que está en algún lugar de la Fundación y necesita una import Foundation explícita

Actualizar

Esto es sólo para los tipos Int. Parece que para los dobles, se requiere truncar el resto.