NSURLConnection下载文件在另一个类中

时间:2011-06-11 23:48:04

标签: ios4 nsurlconnection nsdata

我可以设法使用NSURLConnection下载某些内容但是我想使用另一个类来返回NSURLConnection结果(NSData)。我无法理解。

让我说我有这个课程:

@interface testData : NSData
@end

我已经实现了NSURLConnection,这个过程可以下载我也可以看到当connectionDidFinishLoading触发时数据存在。但是我无法将数据返回给我的主类。我希望我可以告诉我需要什么。谢谢。

@implementation testData

-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
   //doSomething
}

@end

1 个答案:

答案 0 :(得分:1)

保存对委托(您要将数据发送到的对象)的引用,然后在该委托中创建一个接受NSData *对象的方法。

testData.h

@interface testData : NSData
    TestDataDelegate * delegate;
    NSMutableData * receivedData;

@end

testData.m @implementation testData

-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
   [delegate doSomethingWithData:receivedData];
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
    //be sure to alloc/init receivedData when you create the connection.
    [receivedData appendData:data];
}

@end

TestDataDelegate.h

@interface TestDataDelegate : NSData
@end
-(void)doSomethingWithData:(NSData *)data;

TestDataDelegate.m

-(void)doSomethingWithData:(NSData *)data
{
 //dosomethingwith data
}