gpt4 book ai didi

ios - 如何在 GCD block 中返回当前方法?

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

这是我的代码:

- (void)viewDidLoad {
[super viewDidLoad];

[self testGCD];
}

- (void)testGCD {
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
NSLog(@"1");
return;
});
NSLog(@"2");
}

控制台打印出1 2。

我想要的只是第一次打印1。我认为 return 可能不是从方法返回,而是从 block 返回。

有什么方法可以从这个 GCD block 中的当前方法返回吗?

最佳答案

使用 block 来解决问题。

- (void)testGCD {
__block void(^codeBlock)(void) = ^{ NSLog(@"2"); };
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
codeBlock = ^{ NSLog(@"1"); };
});
codeBlock();
}

关于ios - 如何在 GCD block 中返回当前方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50386445/

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