Определить делегат приложения как константу? - PullRequest
4 голосов
/ 28 декабря 2010

Я пытаюсь написать приложение для iPhone, и у меня возникла проблема.
Я объявил константу в качестве делегата приложения внутри класса

#define ikub (iKubMobileAppDelegate *)[[UIApplication sharedApplication] delegate]

И когда мне нужно получитьразмер массива, который является переменной экземпляра для приложения

[ikub.subscriptions count]

Я получаю ошибку Доступ к неизвестному методу получения подписок .
Я не совсем уверен, почемуэто происходит.

Пожалуйста, помогите !!!!

1 Ответ

22 голосов
/ 29 декабря 2010

Вам необходимо заключить значение макроса в скобки (в противном случае приведение внутри макроса применяется к свойству, которое на данный момент неизвестно.) Итак:

#define ikub ((iKubMobileAppDelegate *)[[UIApplication sharedApplication] delegate])
...