Asynch скачать с URL iPhone - PullRequest
       4

Asynch скачать с URL iPhone

0 голосов
/ 11 ноября 2011

Здравствуйте, я хочу попросить хороший урок, который показывает мне, как загрузить файл с URL-адреса в локальное хранилище телефона, используя цель C Я сделал следующую синхронизацию, но хочу сделать синхронизацию

  NSString* docsDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
NSString* fileToDownload = @"data1.plist";
NSString* hostURLString = @"http://localhost/test";
hostURLString = [hostURLString stringByAppendingPathComponent: fileToDownload];
NSURL* pListURL = [NSURL URLWithString: hostURLString];
NSData* pListData = [NSData dataWithContentsOfURL: pListURL];
NSString* filePath = [docsDir stringByAppendingPathComponent: fileToDownload];
[pListData writeToFile: filePath atomically: NO];


NSString* Path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
NSString *DataPath = [Path stringByAppendingPathComponent:@"data1.plist"];

Любые предложения

Ответы [ 2 ]

5 голосов
/ 11 ноября 2011

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

    dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul);
    dispatch_async(queue, ^{
        NSLog(@"Screen %@ - pauseBannerFileImage download starts", self.name);          
        UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:newUrlForImage]]];
        NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:newUrlForImage]];
        dispatch_sync(dispatch_get_main_queue(), ^{
            NSLog(@"!-Screen %@-!pauseBannerFileImage downloaded", self.name);
            self.pauseBannerFileImage = image;
        });
    });
1 голос
/ 11 ноября 2011

Использование NSURLConnection раздела Руководства по программированию системы загрузки URL объясняет, как создать асинхронное соединение, а также как загружать синхронно.

Другой вариант -использовать ASIHTTPRequest, который также может выполнять синхронные или асинхронные запросы.

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