我有两个基本的字符串数组,用于显示爬行动物/哺乳动物事实。
let reptiles = ["Chameleon", "Snake", "Turtle"]
let mammals = ["Dogs", "Cats", "Bears"]
每个按钮有两个按钮。哺乳动物按钮&爬行动物按钮。用户可以单击每个以获取随机事实。
func getRandomReptile() -> String {
var randomNumber = Int(arc4random_uniform(UInt32(reptiles.count)))
while previousNumber == randomNumber {
randomNumber = Int(arc4random_uniform(UInt32(reptiles.count)))
}
previousNumber = randomNumber
allArray.append(reptiles[randomNumber])
return reptiles[randomNumber]
}
func getRandomMammal() -> String {
var randomNumber = Int(arc4random_uniform(UInt32(mammals.count)))
while previousNumber == randomNumber {
randomNumber = Int(arc4random_uniform(UInt32(mammals.count)))
}
previousNumber = randomNumber
allArray.append(mammals[randomNumber])
return mammals[randomNumber]
}
"返回"按钮显示以前事实的最佳方法是什么?它可以是爬行动物或哺乳动物的事实,具体取决于用户按下。
我通过使用附加方法将每个动物存储在Allarray阵列中,从而解决了这一点。然后仅使用removelast方法。但是,由于"背面"按钮需要两个水龙头,因此这不干净。(一个要删除,另一个要显示。) - 我也不认为这是一种非常干净的方法。
func getPrevious() -> String {
if allArray.count > 1 {
allArray.removeLast()
return allArray.last!
}
else {
return allArray.last!
}
}
在两个随机阵列的组合中,最干净的方法是什么?
将选择保存在数组中,并将每个新选择添加到该数组。单击上一个按钮时,返回阵列