асинхронный UIImageView в пользовательском UITableViewCell - PullRequest
1 голос
/ 30 сентября 2011

Я хотел бы знать, как люди реализуют асинхронную загрузку UIImageView, если у вас она есть внутри пользовательского UITableViewCell, я видел довольно много примеров использования GCD, создания подклассов UIImageView ... все они должны включать NSURLRequest и NSURLConnection.Так как же люди делают это в подклассе UITableViewCell, в котором есть UIImageView?

Ответы [ 3 ]

1 голос
/ 30 сентября 2011

Посмотрите на эту категорию: SDWebImage .Это загрузчик изображений для UIImageView.Вы помещаете изображение в свою ячейку и в методе - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath просто используйте:

[myImageView setImageWithURL:[NSURL URLWithString:@"example.com/myimage.jpg"]];
0 голосов
/ 30 сентября 2011

Вот очень хороший учебник, который объясняет асинхронную загрузку в целом ....

http://www.raywenderlich.com/4295/multithreading-and-grand-central-dispatch-on-ios-for-beginners-tutorial

Вы можете использовать ту же идею для загрузки изображения.

0 голосов
/ 30 сентября 2011

Я думаю, что простой и идеальный способ сделать это - выполнить следующие шаги

  1. Внутри cellForRowAtIndexPath: проверить, доступно ли изображение, загрузить его локально, в противном случае запустить nsurl запрос на его загрузку.в отдельном потоке и покажите изображение индикатора загрузки.
  2. По завершении потока запроса сохраните изображение локально, перезагрузите tableView.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...