小编典典

将块内的变量分配给块外的变量

all

我收到一个错误

变量不可赋值(缺少 __block 类型说明符)

就行了aPerson = participant;。如何确保块可以访问aPerson变量并且aPerson可以返回变量?

Person *aPerson = nil;

[participants enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {   
    Person *participant = (Person*)obj;

    if ([participant.gender isEqualToString:@"M"]) {
        aPerson = participant;
        *stop = YES;
    }
}];

return aPerson;

阅读 82

收藏
2022-03-23

共1个答案

小编典典

您需要使用这行代码来解决您的问题:

__block Person *aPerson = nil;

有关详细信息,请参阅本教程:块和变量

2022-03-23