通过NSbutton Swift继续下一个索引

通过NSbutton Swift继续下一个索引,swift,Swift,我想为我的应用程序使用一个下一步按钮来播放Youtube视频。我的希望是,每次单击按钮时,它的索引都会增加1。但我只能在.startIndex上找到信息,我不知道如何继续添加一个。代码如下: @IBAction func nextButton(_ sender: NSButton) { } @IBOutlet weak var myWebView: WebView! override func viewDidLoad() { super.viewDidLoad() let

我想为我的应用程序使用一个下一步按钮来播放Youtube视频。我的希望是,每次单击按钮时,它的索引都会增加1。但我只能在.startIndex上找到信息,我不知道如何继续添加一个。代码如下:

@IBAction func nextButton(_ sender: NSButton) {
}

@IBOutlet weak var myWebView: WebView!

override func viewDidLoad() {
    super.viewDidLoad()

    let videoCode = ["ufynqs_COF4", "MXqjDRQbibw", "T3JgUT-fa3A"]
    // attempt to add to index
    let i = videoCode.index(videoCode.startIndex, offsetBy: 1)
    print(i)

    let url = URL(string: "https://youtube.com/embed/\(videoCode[i])")
    var request = URLRequest(url: url!)
    request.setValue("https://youtube.com", forHTTPHeaderField: "Referer")
    self.myWebView.mainFrame.load(request)
}

您必须将令牌数组移动到类的顶层并创建一个计数器

let videoCode = ["ufynqs_COF4", "MXqjDRQbibw", "T3JgUT-fa3A"]
var counter = 0
当加载下一个视频的代码被使用两次时,创建一个方法。它递增并环绕计数器归零

func loadNextVideo()
{
    let url = URL(string: "https://youtube.com/embed")!.appendingPathComponent(videoCode[counter])
    var request = URLRequest(url: url)
    request.setValue("https://youtube.com", forHTTPHeaderField: "Referer")
    self.myWebView.mainFrame.load(request)
    counter = (counter + 1) % videoCode.count
}
在viewDidLoad和iAction中,只需调用该方法

override func viewDidLoad() {
    super.viewDidLoad()
    loadNextVideo()
}

@IBAction func nextButton(_ sender: NSButton) {
    loadNextVideo()
}