iphone асинхронная загрузка файлов? - PullRequest
2 голосов
/ 24 июня 2010

есть ли способ загрузить локальные файлы в iphone асинхронно? Я загружаю uiimages для моего uitableview, используя это:

NSData *imageData = [[NSData alloc] initWithContentsOfFile:fileName];
UIImage *cachedImage = [[[UIImage alloc] initWithData:imageData] autorelease];

но это медленно, потому что основной поток заблокирован или что-то еще, пока NSData не закончит загрузку файла и пользовательский интерфейс не будет отвечать. Есть ли что-то вроде NSURLConnection, но для локальных файлов? Поэтому я могу просто загрузить файл без зависания пользовательского интерфейса, и когда он заканчивает загрузку, какой-то обработчик отправляет уведомление или что-то в этом роде.

1 Ответ

3 голосов
/ 24 июня 2010

Вы можете использовать NSOperationQueue и NSInvocationOperation для вызова процедуры «загрузки». Затем из процедуры загрузки просто используйте «executeSelectorOnMainThread» для обновления. См. http://gist.github.com/375559 для подробного примера.

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