в моем (довольно простом) приложении
-> у меня есть одно подпредставление (с именем «Всплеск»), загруженное в основное представление во время запуска, например так (в моем классе mainView):
-(void)awakeFromNib{
[self addSubview:splash];
}
--> У меня также есть UITableView (с именем «myTable»), загруженный нажатием кнопки (которая вызывает IBAction с именем «LoadData:») в подзаголовке «всплеск». (все представления сделаны в interfaceBuilder, и у каждого представления есть соответствующие классы в проекте xCode)
Что я хочу сделать, так это предварительно загрузить (кешировать) большой объем данных (750 записей) из базы данных SQLite, прежде чем я загружу второй subView («myTable»), который использует эти данные, хранящиеся в массиве.
Для этого у меня есть метод RefreshData:, который вызывается в определенное время для сохранения результатов в массиве. Этот массив используется в UITableView для отображения этих данных. Все работает отлично, но...
- если я вызываю метод «RefreshData» в конце метода «awakeFromNib» в классе «mainView», моему приложению требуется ~ 15 секунд, чтобы отобразить первый экран (с именем «заставка»): не хорошо.
- если я вызываю «RefreshData» в IBAction «LoadData», UITableView появляется на экране примерно через 13 секунд: совсем нехорошо.
Итак, вопрос: есть ли способ вызвать метод «RefreshData» ПОСЛЕ того, как на экране появился первый subView («заставка»), и ДО того, как пользователь нажмет кнопку, которая загружает UITableView?
Любая помощь будет оценена по достоинству, и, пожалуйста, приносим свои извинения за мой плохой английский!