¿Por qué el bloque Objective-C todavía funciona sin copiarlo en el montón?
Tengo un método simple en mi clase:
- (void)getFormWithBlock:(DataCenterResultBlock)block {
[SomeClass doSomeLongOperationWithParam:someParam
completionBlock:^(NSData *data, NSURLResponse *response) {
//Success
block(aVar, YES);
} errorBlock:^(NSError *error) {
//Failed
block(nil, NO);
}];
}
Leí que debería copiar bloques al montón si está haciendo algo de forma asíncrona porque están asignados en la pila y una vez que el árbol de llamadas retrocede, desaparecerá.
Pero aquí, no lo estoy copiando en un montón, pero aún así no tengo ningún problema. ¿Por qué? Gracias