Я начну с исповеди здесь ... Я настоящий новичок в Objective-C и программировании на iPhone (начал учиться в феврале и программировал в марте), у меня есть проект, который очень амбициозен для такого уровня опыта и очень сжатые сроки, чтобы воспользоваться возможностью опробовать мое приложение.
Мое приложение работает на основе Core Data и загружает все его данные при первом запуске, что является выбором, потому что оно будет использоваться на сайтах, где доступ к сети 3G может быть ненадежным. Я хотел бы представить модальное представление, пока это происходит, ничего сложного для объяснения, индикатор выполнения или индикатор активности, графическое изображение и кнопка становятся видимыми, когда работа завершена. Я попробовал несколько подходов и потерпел неудачу, так что никакой код для этого, как и все, кроме XIB, не был уничтожен.
В данный момент я запускаю этот код в приложении DidFinishLaunching ...
[self checkDataAndLoadIfNeeded];
[window addSubview:rootController.view];
[window makeKeyAndVisible];
rootController - это TabBarController с вложенными NavigationController. checkDataAndLoadIfNeeded - это метод, который проверяет значение по умолчанию для загружаемых данных, и если это не так, ДА представляет предупреждение. Метод делегата для отключения оповещения, а затем пользовательский класс DataLoader, который выполняет загрузку и импорт данных.
То, что происходит, заключается в том, что представление rootController становится видимым до срабатывания предупреждения, а таблица на первой вкладке не загружает никаких данных до следующего запуска приложения. Мне интересно, если эти данные не загружаются, потому что я делаю это в viewDidLoad, и лучше ли мне иметь их в viewWillAppear или viewDidAppear. Когда я попытался загрузить модальное представление, я построил, мое представление rootController все еще стало видимым сначала, и мое модальное представление не стало видимым, пока загрузка данных не закончилась (или почти закончилась) (кнопка Готово стала видимой немедленно).
Может кто-нибудь предложить предложения о том, как я могу сделать эту работу?
Cheers & TIA, Pedro:)