Uso i metodi Grand Central Dispatch per eseguire alcune esecuzioni della mia app in una coda. Decido i fotogrammi per i pulsanti in un calcolo su quella coda. Voglio che la mia app ridisegni il suo scren e calcoli i nuovi fotogrammi dopo la rotazione. Ecco alcuni pseudo codice spiegazione da quello che faccio:Come denominare un blocco di codice e chiamarlo in un altro metodo?
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"];}}
};
Ecco quello che voglio è, come posso dare a questo blocco di un nome e di riutilizzo nel metodo delegato
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
}
? Ad esempio, se la rotazione è orizzontale, voglio usare a=234
invece di 123 .. Qualsiasi aiuto per favore. Grazie in anticipo ..
È importante notare che il riferimento a 'self' oa qualsiasi ivar all'interno di un blocco che è contenuto in un ivar creerà un ciclo di conservazione e quindi una perdita. Puoi interrompere il ciclo facendo riferimento a ivars tramite un puntatore '__block id BlockSelf = self;' oppure disponendo il blocco _before_ 'dealloc'. –