从iPhone URL异步下载
嗨,我想问一个好的教程,告诉我如何下载一个文件从URL到本地电话存储使用objective C 我已经完成了以下的同步,但我想让它成为一个同步从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
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.可能重复的