6
votes

Taille SWIFT

Array de couleurs
let colorArray = [
    UIColor.greenColor(),
    UIColor.blueColor(),
    UIColor.redColor(),
    UIColor.orangeColor(),
    UIColor.yellowColor()
]


1 commentaires

Enlevez-vous simplement les couleurs avant la couleur que vous souhaitez commencer, puis simplement les ajouter à la fin de la matrice?


5 Réponses :


3
votes

Vous pouvez étendre array code> pour inclure une méthode pour renvoyer un tableau contenant les éléments du tableau d'origine pivoté par un élément:

let z = colorArray.rotate(2)

// z is [.yellowColor(), .greenColor(), .blueColor(), .redColor(), .orangeColor()]


1 commentaires

Cela s'écraserait avec un tableau vide



2
votes

Vous pouvez itérer en manipulant l'index de démarrage.

iterate(colors, 3, { (color) -> () in println("color - \(color)")})


0 commentaires

10
votes

Je sais que cela pourrait être en retard. Mais le moyen le plus simple de faire pivoter ou de changer de matrice est xxx


2 commentaires

Obtenir une erreur: Impossible d'indiquer une valeur de type '[CGColor]' avec un index de type 'Countablerange ' My Code est le suivant: `` `` Gardez Let indexofstartcolor = Possiblecolors.index (de: startcolor) else {retour} Index = IndexOfstarColor.Distance (à: 0) RotationColors = Possibilités [index


Ne change pas avec l'index négatif, c'est-à-dire l'autre sens!



9
votes

court et clair Swift 3 & 4 strong> Solution que j'ai proposé:

let colorArray = [
    UIColor.red,
    UIColor.orange,
    UIColor.yellow,
    UIColor.green,
    UIColor.blue
]

let shiftedColorArray = [
    UIColor.green,
    UIColor.blue,
    UIColor.red,
    UIColor.orange,
    UIColor.yellow
]

colorArray.shifted(by: 2) == shiftedColorArray // returns true

[1,2,3,4,5,6,7].shifted(by: -23) // returns [3,4,5,6,7,1,2]


2 commentaires

J'aime l'optimisation sur votre solution. Est-il possible de refrorcer cette extension pour muter la matrice existante au lieu de créer un nouveau? @ Benno-Kress


Oui tout à fait. Cette extension contient les deux méthodes: Gist.github.com/bennokress/a12f967E809575BE3820C76578640143



2
votes

Une variation de la réponse de @ Zizutg, qui peut changer dans les deux sens (positif et négatif) xxx


0 commentaires