Obj-C Макропрограммирование - PullRequest
2 голосов
/ 15 февраля 2011

Я пытаюсь узнать больше о макропрограммировании для Obj-C, поскольку я видел довольно много классных вещей, сделанных с ним.Можно ли сделать следующее с помощью однострочного макроса?

MyNewViewController *newVC = [[MyNewViewController alloc] init];
[self.navigationController pushViewController:newVC animated:YES];
[newVC release];

Что-то вроде:

PushToNavController(@"MyNewViewController",YES);

Спасибо

1 Ответ

5 голосов
/ 15 февраля 2011

Конечно:

#define PushToNavController(_n,_a) { \
_n *__vc = [[(_n) alloc] init]; \
[self.navigationController pushViewController:__vc animated:(_a)]; \
[__vc release]; \
}

И тогда вы будете использовать это так:

PushToNavController(MyNewViewController, YES);

Но .. почему вы хотите это сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...