Swift随机数组 - 访问上一个索引

时间:2016-12-19 07:33:06

标签: ios arrays swift xcode loops

我有两个基本的String Arrays用于显示Reptile / Mammal事实。

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]
}

“返回”按钮显示上一个事实的最佳方法是什么?它可以是爬行动物或哺乳动物,取决于用户按下的内容。

我通过使用append方法将每个动物存储在allArray数组中来解决这个问题。然后只使用removeLast方法。但是,这并不干净,因为“后退”按钮需要两次点击。 (一个要删除,另一个要显示。) - 我也认为这不是一个非常干净的方法。

func getPrevious() -> String {
    if allArray.count > 1 {
        allArray.removeLast()
        return allArray.last! 
    }
    else {
        return allArray.last!
    }
}

在两个随机数组的组合中“最后”的最简洁方法是什么?

1 个答案:

答案 0 :(得分:1)

将选择保存在数组中,并将每个新选择添加到该数组。单击上一个按钮

时,返回数组
相关问题