2011-04-19 1 views
0

Я читал пост о доступе к приложению делегата, используя сокращенный с помощью макроса здесьМакросов для AppDelegate доступа с использованием нескольких целей

Short hand for [[UIApplication sharedApplication] delegate]?.

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

#define AppDelegate (YourAppDelegate *)[[UIApplication sharedApplication] delegate] 

Мой вопрос, как я могу сделать это с проектом, который имеет несколько целей, видя, как AppDelegate имя будет отличаться для каждого из них?

ответ

1

Макрос #define - это просто средство замены строк в препроцессоре, поэтому я не думаю, что вы можете сделать многое, кроме определения другого макроса, который имеет имя для делегата приложения каждой цели. Экономия при наборе текста для сокращения делегата приложения не будет очень большой, и, возможно, не стоит тратить время на это. И я еще раз отредактирую, чтобы сказать, что если вы делаете достаточное количество ссылок на делегат вашего приложения, чтобы оправдать сокращение, я думаю, вам нужно переместить некоторый код из appDelegate в более важные (возможно одиночные) классы. Мои 2 цента.

+0

hmmm, хороший совет. Я думал, что мог бы быть там что-то полезное ... ну ладно. рыба-меч! : P – dubbeat

+0

@ dubbeat - у нас есть победитель! Не 3 минуты назад я отказался от предмета Swordfish и удалил его из своего профиля, так что вы получите единственный доллар. Теперь, как я могу получить его? – Rayfleck

+0

мммм, отдай его следующему бездомному человеку, которого ты встретишь, и скажи, что это от меня :) – dubbeat