J'ai cette ligne:
randomIndex = Int(drand48() % Double(alphabetColors.count))
Et Xcode 8 (Swift 3) me dit:
'%' is unavailable: Use truncatingRemainder instead
N'y a-t-il plus d'opérateur? Comment dois-je convertir mon code?
Vous pouvez simplement suivre le message de diagnostic:
let randomIndex = Int(drand48().truncatingRemainder(dividingBy: Double(alphabetColors.count)))
Ou utiliser arc4random_uniform(_:)
serait une meilleure alternative.
let randomIndex = Int(arc4random_uniform(UInt32(alphabetColors.count)))
Cela semble être disponible pour moi, actuellement sur Swift 3.1, donc possible, il a été ajouté à nouveau.
Je suppose que c'est quelque part dans Foundation et qu'il nécessite un import Foundation
explicite
Mettre à jour
Ceci est pour les types Int uniquement. Il semble que pour les doubles, il est nécessaire de tronquer le reste.
Transformez votre variable en Int
avant mod
exemple
let result = Int(value) % 3
Utilisez https://developer.Apple.com/documentation/Swift/double/2884269-remainder
Si vous utilisez truncatingRemainder (comme mentionné dans les autres commentaires), la valeur sera d'abord affichée, ce qui signifie que 3.14 deviendra 3.