单击按钮时不在Swift中重复单词-IOS
当我在swift中单击按钮时,我怎么能不重复阵列?我试图在不重复的情况下生产水果。我能把这根绳子一个接一个地穿过所有的水果吗?它不必是随机的。我只想在单击按钮并显示最后一个数组“没有任何水果选项”时,每个单词只显示一次 我试图随机化字符串,但结果重复了。我只想让它一个接一个地过去。当我按下屏幕上的按钮时,图像标签上的输出应该一次给我一个水果 即按下按钮“ 输出:“苹果” 再次按下按钮 产出:“香蕉” 依此类推,直到最后一个字符串显示“没有任何水果选项了”单击按钮时不在Swift中重复单词-IOS,ios,arrays,swift,string,Ios,Arrays,Swift,String,当我在swift中单击按钮时,我怎么能不重复阵列?我试图在不重复的情况下生产水果。我能把这根绳子一个接一个地穿过所有的水果吗?它不必是随机的。我只想在单击按钮并显示最后一个数组“没有任何水果选项”时,每个单词只显示一次 我试图随机化字符串,但结果重复了。我只想让它一个接一个地过去。当我按下屏幕上的按钮时,图像标签上的输出应该一次给我一个水果 即按下按钮“ 输出:“苹果” 再次按下按钮 产出:“香蕉” 依此类推,直到最后一个字符串显示“没有任何水果选项了” 您需要以某种方式跟踪已使用的数组元素。您
您需要以某种方式跟踪已使用的数组元素。您可以通过以下两种方式完成此操作:
ViewController类:UIViewController{
@IBOUTLE弱var NEXTFRUITBUTON:UIButton!
@IBVAR水果盒:UILabel!
让水果=[“苹果”、“香蕉”、“橘子”、“苹果树”、“李子”、“梨”等]。混洗()
var nextFruit=0
@iAction func按钮(\发送方:UIButton){
如果nextFruit0其他{
返回
}
下一个结果-=1
fruitbox.text=self.fruit[nextFruit]
}
}
如果您不希望水果以随机顺序排列,只需删除
.shuffled()
谢谢!成功了!!你知道我如何返回到以前的数组吗?例如,如果我单击按钮,苹果、香蕉、橙色显示出来,但我想回去看香蕉。我该怎么做?在我的第一个示例中,你不能返回,因为用过的水果已从数组中删除;你可以有一个重新启动的按钮在第二个例子中,你可以有一个按钮,在访问数组之前递减nextFruit
,记住先检查nextFruit
是否为0。你能提供一个例子吗?谢谢!!我在第二个例子中添加了一个以前的水果
import UIKit
class fruitrandomViewController: UIViewController {
@IBOutlet weak var nextfruitButton: UIButton!
@IBOutlet weak var fruitbox: UILabel!
@IBAction func fruitbutton(_ sender: UIButton) {
let array = ["Apple","Banana","Orange","Pinapple", "Plum", "Pear","T"There aren't any fruit options left",]
let randomFruitgenerator = Int(arc4random_uniform(UInt32(array.count)))
fruitbox.text = array[randomFruitgenerator]
}
}
class fruitrandomViewController: UIViewController {
@IBOutlet weak var nextfruitButton: UIButton!
@IBOutlet weak var fruitbox: UILabel!
var fruit = ["Apple","Banana","Orange","Pinapple", "Plum", "Pear",].shuffled()
@IBAction func fruitbutton(_ sender: UIButton) {
if fruit.isEmpty {
fruitbox.text = "There's no more fruit left"
} else {
fruitbox.text = self.fruit[0]
self.fruit.remove(at:0)
}
}
}
class fruitrandomViewController: UIViewController {
@IBOutlet weak var nextfruitButton: UIButton!
@IBOutlet weak var fruitbox: UILabel!
let fruit = ["Apple","Banana","Orange","Pinapple", "Plum", "Pear",].shuffled()
var nextFruit = 0
@IBAction func fruitbutton(_ sender: UIButton) {
if nextFruit < fruit.count {
fruitbox.text = self.fruit[nextFruit]
nextFruit += 1
} else {
fruitbox.text = "There's no more fruit left"
}
}
@IBAction func previousFruitButton(_ sender: UIButton) {
guard nextFruit > 0 else {
return
}
nextFruit -= 1
fruitbox.text = self.fruit[nextFruit]
}
}