gpt4 book ai didi

objective-c - 串行调度队列中的 block 未执行 - GCD iOS Objective-C

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:19:39 24 4
gpt4 key购买 nike

我有一个 for 循环将 block 排队到主队列,如下所示:

  for (int x=0; x<5; x++) {
double delayInSeconds = x * .03;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
... code here ...
}
}

只有第一个 block 被执行。我已验证该循环工作正常,它循环了正确的次数并且没有引发异常或错误。

最佳答案

使用这段代码:

for (int x=0; x<5; x++) {
double delayInSeconds = x * .03;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
NSLog(@"Blah!!");
});
}

“Blah”登出 5 次。我猜你发布的代码与你在应用程序中的代码不一样?我不得不添加 );到 dispatch_after 调用结束。

关于objective-c - 串行调度队列中的 block 未执行 - GCD iOS Objective-C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10857910/

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