#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.