gpt4 book ai didi

ios - 使用 dispatch_after 做一些相对于其他事情何时完成的事情

转载 作者:行者123 更新时间:2023-11-29 03:12:27 27 4
gpt4 key购买 nike

这是我需要做的:

类似于:

for int i = 0; i < 3; i++)
call method @selector(spin) with delay 0.1

//once this is done (e.g., in 0.3 seconds)

call method @selector(move) with delay 1 second.

我需要的是堆积事件,并让其他事件相对于前一个事件的结束时间开始。

所以像这样:

wait 100ms //total time = 100ms
spin
wait 100ms //total time = 200ms
spin
wait 100ms //total time = 300ms
spin
wait 1000ms //total time = 1300ms
move

dispatch_after 可以实现这样的功能吗?如果可以的话有人可以给我举个例子吗?我似乎找不到适合这种情况的人。

请注意,这些都不应导致 UI 线程等待/阻塞。

谢谢

最佳答案

您可以使用 NSThreadsleepForTimeInterval 方法。以下代码将阻塞正在运行的线程 sleepForTimeInterval

dispatch_queue_t yourThread = dispatch_queue_create("com.xxx.queue", nil);

dispatch_async(yourThread, ^
{
[NSThread sleepForTimeInterval:10.0];

dispatch_async(dispatch_get_main_queue(), ^
{

});
});

这应该为您指明正确的方向。

关于ios - 使用 dispatch_after 做一些相对于其他事情何时完成的事情,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22107447/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com