ブロック内の変数をブロック外の変数に割り当てる 質問する

ブロック内の変数をブロック外の変数に割り当てる 質問する

エラーが発生しています

変数は割り当て可能ではありません (__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;

ベストアンサー1

問題を解決するには、次のコード行を使用する必要があります。

__block Person *aPerson = nil;

詳細については、次のチュートリアルを参照してください。ブロックと変数

おすすめ記事