【发布时间】:2017-12-07 01:58:55
【问题描述】:
我想根据现有数组检查按下按钮的顺序(它们都有标签)。例如,我有一个包含 1-9 和 9 个按钮的数组,我想知道用户是否以正确的顺序按下它们。如果没有,那么我将返回一个错误。这似乎很简单,但我仍在学习并且已经用尽了我的资源。在此先感谢!我已经取得了进展,并让按钮将其标签打印到控制台上,但似乎出现了一个小错误,我似乎无法将它们全部放在一个数组中,它们都是单独打印的。
@IBAction func onePressed(_ sender: Any) {
print("cell 1 was pressed while it showed \(shuffledArray[0])")
}
现在已经解决了!感谢所有的帮助!这是工作代码!
@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)
}
}
}
【问题讨论】: