如何使用NSURL连接下载文件



我知道问是愚蠢的,但我不知道我错在哪里了。我是NSURL连接的新手。我必须使用NSURLConnection下载一个文件。这是我的代码:

NSURL *url = [NSURL URLWithString:@"http://www.comicbookresources.com/feed.php?feed=previews"];
NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:30];
NSURLConnection *connection = [[NSURLConnection alloc]initWithRequest:request delegate:self startImmediately:YES ];
[self.data appendData:self.data];
NSString  *filePath = [NSString stringWithFormat:@"%u/%@", NSDocumentDirectory,@"usman.pdf"];
[self.data writeToFile:filePath atomically:YES];

这看起来很可笑,但我仍然在问

编辑:对不起。我忘了添加单词:异步连接

试试这个。。。。

NSURL *url = [NSURL URLWithString:@"http://www.comicbookresources.com/feed.php?feed=previews"];
NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:30];
NSURLConnection *connection = [[NSURLConnection alloc]initWithRequest:request delegate:self startImmediately:YES ];

然后取一个实例变量NSMutableData*mdata;//in.h文件

在此之后实现NSURLConnectionDataDelegate方法

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
     mdata = [[NSMutableData alloc]init];
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
     [mdata appendData:data];
}

- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
     NSString  *filePath = [NSString stringWithFormat:@"%u/%@", NSDocumentDirectory,@"usman.pdf"];
     [mdata writeToFile:filePath atomically:YES];
}

快乐编码:)

最新更新