I messaggi (metodi) definiti nell’applicazione (Application delegate) principale possono essere invocati in modo rapido utilizzando performSelector:
1 2 | [[[UIApplication sharedApplication] delegate] performSelector:@selector(applicationMessage)]; |
Se il nostro messaggio (applicationMessage) accetta un parametro in ingresso, questo può esssere inviato con:
1 2 3 4 5 6 7 8 9 10 |
Dove è param rappresenta un puntatore. Alcuni messaggi, tuttavia, hanno come parametro un intero o un booleano. In questo caso è possibile eseguire un wrap del tipo:
1 2 3 4 5 6 7 8 9 10 | // Messaggio nell'application delegate - (void)applicationMessage:(BOOL)param { .... } // In qualche altro controller... [[[UIApplication sharedApplication] delegate] performSelector:@selector(applicationMessage:) withObject:[NSNumber numberWithBool:YES]]; |
Attenzione, nel caso dei valori booleani, che se vogliano passare NO (false) bisogna usare nil:
1 2 | [[[UIApplication sharedApplication] delegate] performSelector:@selector(applicationMessage:) withObject:nil]; |
Il wrap a puntatore, tramite NSNumber, può essere utilizzato per inviare qualsiasi tipo di dato “primitivo”, come interi, numeri a virgola mobile, etc…
1 2 3 | [[[UIApplication sharedApplication] delegate] performSelector:@selector(applicationMessage:) withObject:[NSNumber numberWithInt: 32]]; |








7
Non ci sono commenti per questo Post
Lascia un commento