gpt4 book ai didi

ios - 如何访问方法 block 中的变量?

转载 作者:行者123 更新时间:2023-11-28 18:11:11 28 4
gpt4 key购买 nike

我正在尝试访问一个方法 block ,但我不知道如何:

__block NSString *username;
PFUser *user = [[self.messageData objectAtIndex:indexPath.row] objectForKey:@"author"];
[user fetchIfNeededInBackgroundWithBlock:^(PFObject *object, NSError *error) {
username = [object objectForKey:@"username"];
NSLog(@"%@", username); //returns "bob";
}];
NSLog(@"%@", username); //returns null

如何从 block 外的这段代码访问变量“用户名”?

最佳答案

实际上,您正在 block 外访问变量用户名。您得到 null 是因为该 block 在另一个线程中运行,并且您在 block 完成执行后设置该值。因此,当 block 运行时,您的最后一行已经在主线程中执行,因此在执行最后一行时未设置它的值。这就是您获得空值的原因。

关于ios - 如何访问方法 block 中的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19263655/

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