sto ricevendo un erroreassegnare una variabile all'interno di un blocco ad una variabile all'esterno di un blocco
variabile non è cedibile (manca tipo __block specificatore)
sulla linea aPerson = participant;
. Come posso assicurarmi che il blocco possa accedere alla variabile aPerson
e che la variabile aPerson
possa essere restituita?
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;
Si noti che '__block' ha come prefisso ** due ** caratteri di sottolineatura. –
usando '__block' il mio errore è scomparso, ma il valore non viene mantenuto fuori dal blocco. Qualsiasi aiuto qui – User16119012
Il blocco viene chiamato molto dopo dove sembra debba essere chiamato, in altre parole, i blocchi non vengono eseguiti 'subito'. –