gpt4 book ai didi

ios - 无法访问 dispatch_async : "Variable is not Assignable (missing _block type specifier)" 中的全局变量

转载 作者:IT老高 更新时间:2023-10-28 11:35:19 32 4
gpt4 key购买 nike

在我的 dispach_async 代码 block 中,我无法访问 全局变量。我收到此错误 Variable is not Assignable (missing _block type specifier)

NSString *textString;

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,
(unsigned long)NULL), ^(void) {
textString = [self getTextString];
});

谁能帮我找出原因?

最佳答案

当您修改 block 内的变量时,您必须使用 __block 说明符,因此您提供的代码应如下所示:

 __block NSString *textString;
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,
(unsigned long)NULL), ^(void) {
textString = [self getTextString];
});

block 捕获在其主体内引用的变量的状态,因此必须将捕获的变量声明为可变的。考虑到您实际上是在设置这个东西,而可变性正是您所需要的。

关于ios - 无法访问 dispatch_async : "Variable is not Assignable (missing _block type specifier)" 中的全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11337975/

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