Загрузить данные после viewDidLoad - PullRequest
1 голос
/ 24 марта 2011

У меня есть viewController, который требует, чтобы я загружал целую серию изображений и отображал их на экране, но загрузка этих изображений в viewDidLoad занимает некоторое время, и перед отображением на экране возникает задержка.

Есть ли способ, которым я мог бы загрузить только первые 5 изображений, которые видны на экране в viewDidLoad, а затем загрузить оставшиеся изображения сразу после загрузки viewController?

Для этого предназначены viewWillAppear или viewDidAppear?Есть ли где-то еще, что лучше всего использовать для загрузки контента без задержки времени ответа для пользователей?

Заранее большое спасибо!

Ответы [ 3 ]

0 голосов
/ 24 марта 2011

вы можете использовать viewWillAppear, чтобы получить первые 5 изображений / данных для отображения без каких-либо задержек для пользователя и остальные данные, которые вы можете в viewDidAppear.

0 голосов
/ 24 марта 2011

Я бы порекомендовал вам загружать изображения в фоновом потоке (ах), используя GCD или NSInvocation.В viewDidLoad вы просто запускаете фоновую обработку.после загрузки изображений в фоновом потоке передайте их в основной поток и отобразите по своему желанию.

0 голосов
/ 24 марта 2011

Конечно, вы можете сделать это в viewDidAppear, если вы просто хотите показать вид перед загрузкой изображений. Помните, что viewDidAppear можно вызывать более одного раза, и вы, вероятно, захотите загрузить только изображения.

Если вы загружаете изображения из Интернета (то есть, при длительной загрузке), вы можете захотеть внедрить загрузчик изображений, который позволит вашему контроллеру знать, что изображение готово для отображения через делегата. Если все изображения хранятся локально и загружаются в течение нескольких секунд, подход viewDidAppear должен работать нормально.

...