对多个变量使用 arc4random

Using arc4random for multiple variables

在我的应用中,我有一个标题和艺术家,我想在视图控制器上随机出现,这是我的相关代码:

        var songTitle = ["Happy", "Sad"]
        var aristTitle = ["The Happy Band", "The Sad Band"]

    override func viewDidLoad() {
            super.viewDidLoad()


            var random = Int(arc4random_uniform(UInt32(songTitle.count)))

            var titleOn = songTitle[random]

            titleText.text = titleOn
            artistText.text = ???

所以,基本上,如果标题 Happy 随机出现,我希望艺术家是 The Happy Band。但是,如果我也为艺术家使用 arc4random,则艺术家有可能是 The Sad Band。我该怎么做呢? (我正在使用 Swift 3 和 Xcode 8)

两者使用相同的索引即可。

artistText.text = artistTitle[random]

您当然可以使用相同的随机数索引到 2 个不同的数组中。但是,正如@Alexander 在他的评论中建议的那样,最好创建一个结构数组

struct Song {
    var songTitle: String
    var aristTitle: String
}

var songs: [Song] = [
    Song(songTitle: "Happy", aristTitle:"The Happy Band"),
    Song(songTitle: "Sad", aristTitle:"The Sad Band")
];


let songIndex = Int(arc4random_uniform(UInt32(songs.count)))
let aSong = songs[songIndex]
let songTitle = aSong.songTitle
let artist = aSong.aristTitle