Je voudrais vérifier l'ordre des boutons enfoncés (ils ont tous des balises) par rapport à un tableau existant. Par exemple, j'ai un tableau avec 1-9 et 9 boutons, je voudrais savoir si l'utilisateur les appuie dans le bon ordre. Si non, je vais retourner une erreur. Cela semble assez simple mais j'apprends encore et j'ai épuisé mes ressources. Merci d'avance! J'ai réussi à faire progresser les boutons et à les faire imprimer sur la console, mais un bogue mineur semble se produire et je n'arrive pas à les voir tous dans un tableau, ils sont tous imprimés séparément.Comment vérifier l'ordre des boutons appuyés sur un tableau existant Swift 3.0
@IBAction func onePressed(_ sender: Any) {
print("cell 1 was pressed while it showed \(shuffledArray[0])")
}
Ceci a maintenant été résolu! Merci pour votre aide! Voici le code de travail!
@IBAction func pressed(_ sender: UIButton) {
//print("cell was pressed while it showed \(shuffledArray[0])")
switch(sender.tag){
case 1:
order.add(sender.tag)//adding to nsmutable array use add or at a specific index use insert
print(order)
self.oneLabel.backgroundColor = UIColor.white
case 2:
order.add(sender.tag)
print(order)
self.twoLabel.backgroundColor = UIColor.white
case 3:
order.add(sender.tag)
print(order)
self.threeLabel.backgroundColor = UIColor.white
case 4:
order.add(sender.tag)
print(order)
self.fourLabel.backgroundColor = UIColor.white
case 5:
order.add(sender.tag)
print(order)
self.fiveLabel.backgroundColor = UIColor.white
case 6:
order.add(sender.tag)
print(order)
self.sixLabel.backgroundColor = UIColor.white
case 7:
order.add(sender.tag)
print(order)
self.sevenLabel.backgroundColor = UIColor.white
case 8:
order.add(sender.tag)
print(order)
self.eightLabel.backgroundColor = UIColor.white
case 9:
order.add(sender.tag)
print(order)
self.nineLabel.backgroundColor = UIColor.white
default :
break
}
if order.count == 9 {
print(order.count)
let indexOfShuffled = [1,2,3,4,5,6,7,8,9]
let combined = zip(shuffledArray, indexOfShuffled).sorted {$0.0 < $1.0}
print(combined)
// use map to extract the individual arrays
let sortedIndexOfShuffled = combined.map {$0.1}
let sortedShuffledArray = combined.map {$0.0}
print(sortedIndexOfShuffled) // "[1.2, 1.5, 2.4, 10.9, 20.0]"
print(sortedShuffledArray) // "[1, 3, 0, 0, 2]"
if order == sortedIndexOfShuffled as! NSMutableArray{
self.oneLabel.setImage(UIImage(named: "tick.png"), for: .normal)
self.twoLabel.setImage(UIImage(named: "tick.png"), for: .normal)
self.threeLabel.setImage(UIImage(named: "tick.png"), for: .normal)
self.fourLabel.setImage(UIImage(named: "tick.png"), for: .normal)
self.fiveLabel.setImage(UIImage(named: "tick.png"), for: .normal)
self.sixLabel.setImage(UIImage(named: "tick.png"), for: .normal)
self.sevenLabel.setImage(UIImage(named: "tick.png"), for: .normal)
self.eightLabel.setImage(UIImage(named: "tick.png"), for: .normal)
self.nineLabel.setImage(UIImage(named: "tick.png"), for: .normal)
}else{
self.oneLabel.setImage(UIImage(named: "cross.png"), for: .normal)
self.twoLabel.setImage(UIImage(named: "cross.png"), for: .normal)
self.threeLabel.setImage(UIImage(named: "cross.png"), for: .normal)
self.fourLabel.setImage(UIImage(named: "cross.png"), for: .normal)
self.fiveLabel.setImage(UIImage(named: "cross.png"), for: .normal)
self.sixLabel.setImage(UIImage(named: "cross.png"), for: .normal)
self.sevenLabel.setImage(UIImage(named: "cross.png"), for: .normal)
self.eightLabel.setImage(UIImage(named: "cross.png"), for: .normal)
self.nineLabel.setImage(UIImage(named: "cross.png"), for: .normal)
}
}
}