Получение некоторой информации об устройстве перед загрузкой основного представления приложения

#objective-c #ios #uidevice

#objective-c #iOS #uidevice

Вопрос:

Objective-c для меня довольно новый, поэтому я вполне могу задать абсурдно простой вопрос, но, просмотрев веб-страницы и некоторые книги, я в некоторой степени немного озадачен. Вполне вероятно, из-за моего серьезного недостатка знаний в obj-c. Итак … любая помощь с этим будет действительно полезной…

Все, что я хочу сделать, это получить некоторую простую информацию об устройстве, на котором запущено приложение (используя [UIDevice currentDevice]) при запуске приложения, но до загрузки основного представления приложения. Простая штука, да, но, честно говоря, я не совсем понимаю, как это сделать! Затем я хочу, чтобы любая информация, которая у меня есть, была доступна (в переменной? Не слишком уверен, что это правильный термин для obj-c) во всем приложении и его представлениях. Опять же, я не очень представляю, как это сделать.

Я работаю в качестве веб-разработчика, поэтому для меня это в значительной степени ново. Итак … да, любые советы / указатели, справка и т.д. Были бы смехотворно полезны!

Заранее спасибо, извините за мой вопрос n00b!

Ответ №1:

Место для этого, вероятно, было бы в вашем методе делегирования приложений -application:didFinishLaunchingWithOptions: . Этот метод вызывается, когда ваше приложение завершает запуск и (как правило) отвечает за добавление вашего основного вида в окно приложения. Вы можете поместить информацию в переменную экземпляра вашего делегата приложения. Вы можете получить ссылку на делегата вашего приложения из любого места вашей программы, позвонив [[UIApplication sharedApplication] delegate] . Пример реализации может выглядеть примерно так:

 // In MyAppDelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    //Get your information, potentially put it into an
    //instance variable of the App Delegate

    //Add the main view to the view hierarchy
    [self.window addSubview:viewController.view];
    [self.window makeKeyAndVisible];

    return YES;
}
  

Комментарии:

1. Отлично, это в значительной степени то, чего я хочу. Спасибо за отличный ответ!

Ответ №2:

Возможно, вы сможете использовать метод ViewController «viewWillAppear». он должен находиться в той же области, что и метод «viewDidUnload», который будет находиться в любом файле * ViewController.m, подключенном к основному представлению.

Возможно, вам нужно будет сделать это в подпрограмме main () перед вызовом UIApplicationMain.