0

我正在使用NSURLConnection从 Web 服务下载一些 JSON,然后显示在UITableView. 我的所有代码都在视图类中运行良好,但我想知道是否可以NSURLConnection让其他类使用这些方法?

例如,如下所示:

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

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

4

1 回答 1

1

您可以为您的自定义连接类创建一个委托协议。这样它就可以下载异步和静止并在完成后回调。更好的是使用块进行回调。这种模式用在流行的 ASIHttpRequest 类中。

您甚至可以使此类成为表视图的委托和数据源。这样你只需要[tableview reloadData]在加载完成时调用。缺点是这有点混淆了 MVC 模式。

于 2012-08-21T13:58:29.783 回答