NSURLConnection Скачать файл в другом классе - PullRequest
0 голосов
/ 12 июня 2011

Мне удается загрузить что-то с помощью NSURLConnection, однако я хочу использовать другой класс для возврата результата NSURLConnection (NSData). Я не мог справиться с этим.

Допустим, у меня есть этот класс:

@interface testData : NSData
@end

И я реализовал NSURLConnection, процесс может загрузить также, я могу видеть данные там, когда вызывается connectionDidFinishLoading. но я не могу вернуть данные в мой основной класс. Я надеюсь, что могу сказать, что мне нужно. благодарю вас.

@implementation testData

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

@end

1 Ответ

1 голос
/ 12 июня 2011

сохраните ссылку на делегат (объект, в который вы хотите отправить данные), затем создайте метод в этом делегате, который принимает объект 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
}
...