Получить функцию доступа в main.m [iPhone] - PullRequest
0 голосов
/ 12 января 2011

Я делаю универсальное приложение, и у него есть метод isPad () внутри класса main.m. Я хочу использовать этот метод внутри обоих AppDelegates (iPad, iPhone).

Да, в настоящее время он доступен в AppDelegates.

** Из AppDelegate

- (void)applicationDidFinishLaunching:(UIApplication *)application
{
    if (isPad()) // isPad() method locates main.m and is accessible through delegate.
                 // but I gets warning message 'Implicit declaration of function isPad()
    {

    }
}

С основного. М *

BOOL isPad();
int main(int argc, char *argv[]) 
{ //detecting iPad and iPhone }
BOOL isPad()
{
   // method that detects the device.
}

Почему я получаю предупреждение 'Неявное объявление функции isPad ()? Мне нужно #include main.m внутри AppDelegate.m? тогда как? Я хочу использовать этот метод в любых других классах.

[[UIApplication sharedApplication].delegate isPad()];

Да, я ошибся !! Я использовал два делегата, один для планшета, а другой для телефона. Это можно сделать, используя только одного делегата.

Извините всех!

Ответы [ 3 ]

1 голос
/ 13 января 2011

Почему вы поместили свой метод isPad () в main.m?Почему вы не можете поместить этот метод в ваш делегат общего приложения, и таким образом все классы в вашем приложении могут получить к нему доступ?Я бы порекомендовал просто создать свой метод isPad () внутри вашего делегата общего приложения и избегать помещения его в main.m все вместе.

0 голосов
/ 13 января 2011

Предупреждающее сообщение, которое вы получаете в коде AppDelegate, связано с отсутствием прототипа функции для isPad . Вы можете избавиться от предупреждения, поместив BOOL isPad (); в файл реализации AppDelegate.

Я настоятельно рекомендую вам переместить эту логику из основного файла.

0 голосов
/ 13 января 2011
  1. Вы пытаетесь вызвать функцию isPad () для объекта Objective C.
  2. Вы определили свою функцию isPad () внутри main (), что это?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...