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

标签 ios arrays swift xcode loops

我有两个用于显示爬行动物/哺乳动物事实的基本字符串数组。

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 方法将每个 Animals 存储在一个 allArray 数组中来解决这个问题。然后只使用 removeLast 方法。但是,这并不能正常工作,因为“后退”按钮需要轻按两次。 (一个要删除,另一个要显示。)-我也不认为这是一种非常干净的方法。

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

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

最佳答案

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

关于ios - Swift 随机数组 - 访问前一个索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41217778/

相关文章:

ios - 使用 AFNetworking 解析 JSON 响应

java - 2D字符格式数组

ios - 使用 AlamofireImage 重新启动应用程序后显示缓存的图像

arrays - 包含 Int 数组的字典 – 获取键和索引的值

ios - 视频 iOS 7 上的模糊 Pane

ios - 按最近时间排序 TableView

ios - HomeKit模拟器添加服务后添加的配件没有服务可用?

arrays - Perl 中数组的子数组数

c - 如何将数组指针传递给函数?

ios - 使用 Swift 扩展 UIKit 类会破坏 Interface Builder