将arc4random用于多个变量

时间:2017-05-31 22:38:29

标签: ios swift arc4random

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

        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)

2 个答案:

答案 0 :(得分:0)

只需对两者使用相同的索引。

artistText.text = artistTitle[random]

答案 1 :(得分:0)

您当然可以使用相同的随机数索引到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