Objective c NSURLConnection和对象委托

Objective c NSURLConnection和对象委托,objective-c,delegates,nsurlconnection,nsdata,Objective C,Delegates,Nsurlconnection,Nsdata,作为Objective-C的新手,我还不太了解委托的概念。我环顾四周,但我无法理解给出的答案,所以我用自己的话问这个问题 我使用以下四个功能实现了DownloadDelegate: (void)连接:(NSURLConnection*)连接DidReceiverResponse:(NSURResponse*)响应{ (void)连接:(NSURLConnection*)连接didReceiveData:(NSData*)数据{ (无效)连接:(NSURLConnection*)连接失败错误:(

作为Objective-C的新手,我还不太了解委托的概念。我环顾四周,但我无法理解给出的答案,所以我用自己的话问这个问题

我使用以下四个功能实现了DownloadDelegate:

  • (void)连接:(NSURLConnection*)连接DidReceiverResponse:(NSURResponse*)响应{
  • (void)连接:(NSURLConnection*)连接didReceiveData:(NSData*)数据{
  • (无效)连接:(NSURLConnection*)连接失败错误:(NSError*)错误{
  • (无效)连接IDFinishLoading:(NSURLConnection*)连接{
问题是,我想在数据下载后发送和检索数据。我以前在appviewcontroller中使用这些方法时可以这样做,但由于我想多次调用下载过程,我想我应该将其放入委托中(这是真的吗?)

但我不知道如何向代理发送和检索数据。 顺便说一句,我首先使用了apple教程来建立NSURLConnection,它工作得很好


感谢您的帮助!

也许您对委托是什么有点困惑。在您的情况下,NSURLConnection使用委托(您将要声明的委托)发送有关上述重要事件的信息。实际委托可以是视图控制器或其他模型类的一部分,也可以在其自己的文件中,这无关紧要。要成为NSURLConnection的委托并实际接收回调,必须在@implementation声明中声明协议>
@implementation DownloadDelegate : NSObject <NSURLConnectionDelegate>
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:string]];
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];//here is where you are declaring yourself as the delegate
[connection start];

希望这能有所帮助。

是的,我确实对什么是代表感到困惑!谢谢你的回答