NSURLConnection仅在一堂课中

时间:2013-08-20 14:16:34

标签: objective-c cocoa-touch nsurlconnection

我希望能够,比方说,运行NSURLConnection帖子并下载如下:

NSString *data = [Server post:para1, para2, para3];

我很确定我必须编写一个包含NSURLConnection委托的类,当然还有一个名为post的函数,它启动NSURLConnection并返回下载的字符串。

整个问题是我不知道如何正确地做到这一点。我已经尝试用委托等添加一个名为Server的类,然后将该函数发布为public。之后,post函数无法访问类中的委托和变量。此外,post函数无法返回字符串,因为它首先在- (void)connectionDidFinishLoading:(NSURLConnection *)connection中已知。

你能否给我一个提示,如何创建一个类,可以通过HTTP POST到URL并返回字符串并只运行一行或几行?

2 个答案:

答案 0 :(得分:1)

对于同步URL请求(最好在非主线程中),您可以使用

sendSynchronousRequest:returningResponse:error:

NSURLConnection的类方法。

答案 1 :(得分:0)

您可以通过两种方式实现此目的,一种方法是在connectionDidFinishLoading完成时调用自定义委托,或者为Server方法提供一个块调用,在完成后调用它。块开始时有点令人困惑,但它是一个非常好的工具,知道如何使用。

查看Blocks (Apple Doc)

Bock Tutorial