gui工作时计时器停止

时间:2017-09-11 07:33:16

标签: swift cocoa timer

所以伙计们,我的问题是我在使用gui时无法与计时器一起工作。我的计时器在ViewController和代码中:

    DispatchQueue.main.async {

        Timer.scheduledTimer(timeInterval: 1, target: self.songView, selector: #selector(self.songView.update), userInfo: nil, repeats: true)
    }

我也在外面尝试过派遣。但是,有一个歌曲视图,它的更新代码如下:

func update(){


    DispatchQueue.main.async(execute: {
        let theState = self.executeAppleScript(args: self.playerStateArgs, waitReturn: true)
        let songName = self.executeAppleScript(args: self.songNameArgs, waitReturn: true)
        let bandName = self.executeAppleScript(args: self.bandNameArgs, waitReturn: true)
        let artworkUrl = self.executeAppleScript(args: self.artworkArgs, waitReturn: true)

        self.songField.stringValue = songName
        self.bandField.stringValue = bandName

        let url: URL = URL.init(string: artworkUrl)!
        self.albumCoverView.image = NSImage.init(contentsOf: url)

        NSLog("\(songName)")
    })


}

我也尝试了Dispatch队列之外的代码。非组合对我有用。定时器工作和更新功能每秒打印歌曲名称但是当我打开应用程序(菜单栏应用程序)gui时,更新功能停止并且没有发生日志操作。我尝试了很多东西,并在这里查看了所有问题。不幸的是,他们没有帮助我。提前致谢

编辑: 虽然gui关闭了:

enter image description here

当gui开启时:

enter image description here

关闭时,计时器正在工作。虽然开启,但事实并非如此。

0 个答案:

没有答案