Uso los métodos de Grand Central Dispatch para realizar algunas ejecuciones de mi aplicación en una cola. Decido los marcos para botones en un cálculo en esa cola. Quiero que mi aplicación vuelva a dibujar su scren y calcule nuevos cuadros después de la rotación. Aquí hay un código de pseudo explicación de lo que hago:¿Cómo se nombra un bloque de código y se lo llama de otra manera?
CGFloat a=123, b=24;
dispatch_async(drawingQue, ^{
//needed loops to get the total button count-how many ones will be drawn et..
for(int x=0;x<someCount<x++){
for(int y=0;y<anotherCount;y++){
//needed frame&name ect assingments
button.frame= CGRectMake(x+y, x-y, a, b);
[button setTitle:@"abc"];}}
};
aquí lo que quiero es, ¿Cómo puedo dar a este bloque un nombre y volver a utilizarlo en el método delegado
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
}
? Por ejemplo, si la rotación es horizontal, quiero usar a=234
en lugar de 123 ... Cualquier ayuda por favor. Gracias de antemano ..
Es importante tener en cuenta que hacer referencia a 'self' o cualquier ivar dentro de un bloque que se mantiene en un ivar creará un ciclo de retención y, por lo tanto, una fuga. Puede romper el ciclo al referirse a ivars a través de un identificador '__block id BlockSelf = self;' o arreglando para liberar el bloque _before_ 'dealloc'. –