2011-01-25 5 views
8

в одном заголовочном файле у меня есть что-то вроде:объявить прямую ссылку на блок typedef?

typedef void (^MyBlock)(void); 

мне нужно использовать ту же самую точную ссылку на другой файл заголовка.

Несомненно, я могу #import один файл заголовка в другой или включить typedef в глобальный предварительно скомпилированный заголовок, но вместо этого есть способ переслать ссылку на блок typedef?

+0

Вы имеете в виду то же самое, что вы можете перенаправлять объявления классов и протоколов с помощью '@class MyClass;' и '@protocol MyProtocol;' правильно? – Rivera

+0

@Rivera Я так думаю –

ответ

9

Насколько я знаю, я бы просто поместил его в общий заголовок и включил его там, где это необходимо.

+0

Вот что я сделал: создал заголовочный файл, который имеет только typedef и просто #import этот заголовок в другие файлы заголовков. Спасибо! –

+0

Наличие заголовка только для блока кажется странным. Нет ничего другого, что блок больше «прикреплен» к тому, что он принадлежит в заголовке? –

+0

Он используется несколькими разными классами: два из которых не знают друг о друге, а один из родителей использует эти два. Кроме того, если вы думаете о нем как о типе, имеет смысл определить его в своем собственном заголовке. Поскольку я импортирую этот заголовок (тот, у которого есть typedef) в другие файлы заголовков, хорошо, что область ввода typpedef настолько мала. –

Смежные вопросы