将NSURLConnection方法移动到可重用的类

时间:2012-08-21 13:49:33

标签: iphone nsurlconnection

我正在使用NSURLConnection从网络服务下载一些JSON,然后显示在UITableView中。我在视图类中使用了所有代码,但我想知道是否可以将NSURLConnection方法用于其他类?

例如,如下所示:

NSURLConnectionClass *connection = [[NSURLConnectionClass alloc] init];
NSArray *myDataArray = [connection withURL: [NSURL URLWithString: @"http://www.example.com"]];
// Reload table with new data

我意识到这不会起作用,因为NSURLConnection是异步的,但是想知道是否还有其他我可以尝试的东西。我基本上试图避免在每个下载数据的视图中重复代码。

1 个答案:

答案 0 :(得分:1)

您可以为自定义连接类创建委托协议。通过这种方式,它可以下载异步,并在完成后仍然可以回调。更好的方法是使用块进行回调。此模式用于流行的ASIHttpRequest类。

您甚至可以将此类作为表视图的委托和数据源。这样,您只需在完成加载后调用[tableview reloadData]。缺点是这会混淆MVC模式。