Многократная загрузка файлов без блокировки интерфейса в ios - PullRequest
3 голосов
/ 27 марта 2012

У меня есть массив, который содержит разные URL, и набор кнопок, каждая ссылка назначается каждой кнопке.При нажатии на кнопку будет загружен контент в URL, который назначен этой конкретной кнопке.Пользователь может одновременно нажимать несколько кнопок, чтобы можно было выполнять несколько загрузок одновременно.И в то же время пользователь должен иметь возможность перемещаться по другим представлениям, чтобы процесс загрузки не блокировал пользовательский интерфейс.Какой самый лучший и простой способ реализовать это?Пожалуйста, поделитесь своими идеями.Спасибо

Ответы [ 3 ]

5 голосов
/ 27 марта 2012

Просто извлеките данные асинхронно:

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:urlString]];
[NSURLConnection sendAsynchronousRequest:request 
                                   queue:[NSOperationQueue mainQueue] 
                       completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
                           // The code here is executed when the response from the request comes back.
                           // The variable "data" will contain the response from the data.
                           // So you can do something like:
                           UIImage *anImage = [[UIImage alloc] initWithData:data]];
                       }];
2 голосов
/ 27 марта 2012

Люк, используйте AFNetworking или ASIHTTPRequest lib с асинхронными запросами.

1 голос
/ 27 марта 2012

Вы можете легко реализовать Асинхронный NSURLConnection

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

Существует множество примеров. Один из самых простых примеров стиля блога, который нужно понять, - «Какао с любовью» Мэтта Галлахера. Здесь является ссылкой.

Суть этой техники в том, что с методами делегатов легко работать, и вы можете захватывать каждый файл, который вы загружаете внутри них.

ДонНе поддавайтесь соблазну синхронного стиля, так как он не такой гибкий, и вам будет сложно найти простое решение для загрузки нескольких файлов с использованием этой техники.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...