2011-01-25 9 views
8

in un unico file di intestazione ho qualcosa di simile:dichiara un riferimento in avanti per bloccare typedef?

typedef void (^MyBlock)(void); 

ho bisogno di usare la stessa esatta menzione in un altro file di intestazione.

Certo, posso #import un file di intestazione in un altro, o includere il typedef nell'intestazione globale precompilata, ma invece c'è un modo per inoltrare il riferimento al blocco typedef?

+0

Significa allo stesso modo che è possibile inoltrare classi e protocolli con '@class MyClass;' e '@protocol MyProtocol;' giusto? – Rivera

+0

@Rivera Penso di sì –

risposta

9

Non per quanto ne so, lo inserisco semplicemente in un'intestazione condivisa e lo includo dove è necessario.

+0

Questo è quello che ho fatto: creato un file di intestazione che ha solo il typedef e solo #importa quella intestazione negli altri file di intestazione. Grazie! –

+0

Avere un'intestazione solo per il blocco sembra strano. Non c'è nient'altro che il blocco sia più "attaccato" a quello che appartiene a un header con? –

+0

È usato da poche classi diverse: due delle quali non si conoscono e un genitore che usa quelle due. Inoltre, se lo pensi come un tipo, ha senso definirlo nella sua intestazione. Dato che sto importando questa intestazione (quella con typedef) in altri file header, è bello che lo scope typedef-header sia così piccolo. –