从iPhone URL异步下载

从iPhone URL异步下载,iphone,objective-c,asynchronous,Iphone,Objective C,Asynchronous,嗨,我想问一个好的教程,告诉我如何下载一个文件从URL到本地电话存储使用objective C 我已经完成了以下的同步,但我想让它成为一个同步 NSString* docsDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]; NSString* fileToDownload = @"data1.plist"; NSString* hostURLSt

嗨,我想问一个好的教程,告诉我如何下载一个文件从URL到本地电话存储使用objective 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"];
任何建议

本节介绍如何创建异步连接,以及如何同步下载

另一种选择是使用ASIHTTPRequest,它也可以执行同步或异步请求。

的部分说明如何创建异步连接,以及如何同步下载


另一种选择是使用ASIHTTPRequest,它也可以执行同步或异步请求。

下面是我异步下载图像和数据的代码。你可以用它来达到你的目的

    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;
        });
    });

下面是我异步下载图像和数据的代码。你可以用它来达到你的目的

    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.2.可能的副本请尝试以下链接。它可以引导您异步创建和下载。1.2.可能重复的