【问题标题】:Swift how to wait for an action to be complete?Swift 如何等待一个动作完成?
【发布时间】:2015-05-27 23:53:20
【问题描述】:

我有一个创建一系列动作的函数。在这个函数之后,另一个函数也被另一个序列调用。

我想在第一个函数的动作完全终止时调用第二个函数。

我尝试了一些带有“Do.. While”的解决方案,但它不起作用,因为它停止了操作。顺便说一下,我不知道。 我尝试使用信号量,但效果不佳.. 我试图在行动中使用“完成”并放入我的第二个功能,但它不起作用......

所以我迷路了,我不知道该怎么做..我也知道序列的持续时间,所以也许有一个解决方案可以等待这个持续时间直到启动第二个功能..?

你能帮帮我吗?

【问题讨论】:

  • 显示一些你迄今为止尝试过的代码。
  • 你可以使用completionHandler(blocks),但是展示你的动作可能会很好,因为你没有说出来,但我猜有异步调用。
  • 您的问题含糊不清,无法回答。你所说的“行动”是什么意思?你说的是动画吗?发布相关代码,以及具体描述您实际尝试完成的内容。否则这个问题需要被关闭,因为不清楚。

标签: ios swift action wait


【解决方案1】:

我说的是 moveTo 动作。事实上,我想先完成一个 moveTo 动作,然后再调用一个函数..

代码如下:

        self.fct_utils.direction = false
        coord_b = self.verifyAngle()

        let wait = fct_move.nodeWaitForDuration(1)
        let action = fct_move.nodeMoveTo(backTime, coord_x: coord_b.x, coord_y: coord_b.y)

        let sequence = SKAction.sequence([wait, action, wait])

        robot.runAction(sequence)

我会在调用下一行之前完成这个序列:

    self.fct_utils.direction = true

【讨论】:

    猜你喜欢
    • 2017-06-22
    • 1970-01-01
    • 1970-01-01
    • 2015-04-11
    • 2020-07-06
    • 2017-04-18
    • 1970-01-01
    • 2019-11-06
    • 2014-12-01
    相关资源
    最近更新 更多