UITableView变量

问题描述 投票:1回答:1

我正在制作视频应用。它是一个UITableView,选中的每一行都会为一个变量分配一个相关的URL,这个变量将通过一个视频提取器传递给用户并向用户显示该视频。这就是我的方式。我已经宣布了我的网址:

//video links
var calledVideo: String?
let vid1 = "https://youtube.com/1234567"
let vid2 = "https://youtube.com/1234567"
let vid3 = "https://youtube.com/1234567"

当选择某一行时,我使用变量var calledVideo: String?传递存储视频网址,并将该网址传递到视频提取器中。

我的问题是我似乎无法弄清楚如何改变使我的var calledVideo: String?等于vid1如果第一行被选中,vid2如果第二行被选中..等等..所以魔法将在didSelectRowAtIndexPath但我不能弄清楚要设置calledVideo等于:

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    calledVideo =
    videoExtractor()
}

我知道这应该是超级简单的,但由于某种原因,我的大脑今天无法弄明白。

swift uitableview didselectrowatindexpath
1个回答
1
投票

您应该将视频链接放入一个数组中,这样您以后就可以轻松添加更多视频。

let vids = ["https://youtube.com/1234567", "https://youtube.com/1234568", "https://youtube.com/1234569"]

然后你可以使用indexPath.row作为didSelectRow中数组的索引:

override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    calledVideo = vids[indexPath.row]
    videoExtractor()
}
© www.soinside.com 2019 - 2024. All rights reserved.