作为Objective-C的新手,我还没有得到委托的概念。我环顾四周,但我无法理解给出的答案,所以我用自己的话来问这个。
我已经使用这四个函数实现了DownloadDelegate:
问题是,我想在下载后发送和检索数据。我曾经能够在我的appviewcontroller中使用这些方法时这样做,但由于我想多次调用下载过程,我想我应该把它放到委托中(这是真的吗?)
但我不知道如何向委托发送和检索数据。 顺便说一下,我使用苹果教程首先建立了NSURLConnection,它工作得很好。 Link
感谢您的帮助!
答案 0 :(得分:2)
也许你对代表是什么感到困惑。在您的情况下,NSURLConnection使用委托(您将声明的委托)来发送有关您上面提到的重要事件的信息。实际的委托可以是视图控制器或其他模型类的一部分,也可以在其自己的文件中,这无关紧要。要成为NSURLConnection的委托并实际接收回调,您必须在@implementation声明中声明协议
@implementation DownloadDelegate : NSObject <NSURLConnectionDelegate>
然后,无论您何时开始连接,都需要将self设置为该声明中的委托
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];
希望这有帮助。