gpt4 book ai didi

ios - 如何保留在 block 中设置的局部变量?

转载 作者:行者123 更新时间:2023-12-01 17:41:55 25 4
gpt4 key购买 nike

所以我有:

@interface testAppControl : NSObject
{
NSString *s;
}

然后在我的街区我想做

[SendAPI setGroupWithName:groupName completionHandler:^(NSArray *errors) {
s = @"something";
}];

NSLog(@"%@", s); //<--- s is null

所以我想在离开街区后保留值 "something"。这对 ARC 可行吗?

最佳答案

将其声明为 __block 变量,然后您可以在 block 外使用它并在 block 内更改它。

__block NSString *s = nil;

void(^block)(void) = ^ {
s = @"something";
};
block();
NSLog(@"%@", s);

s = @"blah";
NSLog(@"%@", s);

block();
NSLog(@"%@", s);

关于ios - 如何保留在 block 中设置的局部变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16347482/

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