问题

我收到一个错误

变量不可分配(缺少__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;
 

  最佳答案

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

 __block Person *aPerson = nil;
 

详情请参阅本教程: Blocks和Variables

  相同标签的其他问题

objective-ccompiler-errorsobjective-c-blocks