在Apple Watch上使用串行队列为Swift中的按钮序列设置动画

在Apple Watch上使用串行队列为Swift中的按钮序列设置动画,swift,asynchronous,watchkit,apple-watch,dispatch,Swift,Asynchronous,Watchkit,Apple Watch,Dispatch,我正在和Swift一起玩,特别是在Apple Watch上创建应用程序。我试图在手表的用户界面中设置一系列按钮的动画 我已经编写了一个函数,我将WKInterfaceButton传递到其中,我希望它通过将Alpha更改为0并返回到1来使按钮闪烁。 我创建了一个串行队列,并理解传递到该队列中的任何块都将按顺序执行,因此,使按钮变暗的指令将放置在队列中,然后是使按钮变暗的指令,如果我继续调用该函数,则下一个按钮也将如此 很明显,我错过了一些基本的东西,因为屏幕上什么也没有发生,任何帮助都将得到感激

我正在和Swift一起玩,特别是在Apple Watch上创建应用程序。我试图在手表的用户界面中设置一系列按钮的动画

我已经编写了一个函数,我将WKInterfaceButton传递到其中,我希望它通过将Alpha更改为0并返回到1来使按钮闪烁。 我创建了一个串行队列,并理解传递到该队列中的任何块都将按顺序执行,因此,使按钮变暗的指令将放置在队列中,然后是使按钮变暗的指令,如果我继续调用该函数,则下一个按钮也将如此

很明显,我错过了一些基本的东西,因为屏幕上什么也没有发生,任何帮助都将得到感激

 let alphaTimer = 1.00
var serialQueue = dispatch_queue_create("com.apollodev", DISPATCH_QUEUE_SERIAL)
private func animateButton(button: WKInterfaceButton) {
        dispatch_async(serialQueue) {
             self.animateWithDuration(self.alphaTimer, animations: { () -> Void in
                button.setAlpha(0)
            })
        }

        dispatch_async(serialQueue) {
               self.animateWithDuration(self.alphaTimer, animations: { () -> Void in
                    button.setAlpha(1)
                })
}

好的,所以要意识到上面的代码不起作用,必须在主线程上运行。基本上我想要的是屏幕上的3个按钮(红色、黄色、蓝色),并且能够运行一个序列(红色、蓝色、黄色、红色、黄色)。。。并让按钮闪烁,这是我试图通过使用SetAlpha来实现的。是否有任何方法可以将命令添加到主队列中:self.animateWithDuration(self.alphaTimer,动画:{()->Void in button.setAlpha(0)和self.animateWithDuration(self.alphaTimer,动画:{()->Void in button.setAlpha(0)因此,它们是按顺序执行的,蓝色按钮的动画直到红色按钮完成后才开始。任何帮助都非常感谢