我正在使用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是异步的,但是想知道是否还有其他我可以尝试的东西。我基本上试图避免在每个下载数据的视图中重复代码。
答案 0 :(得分:1)
您可以为自定义连接类创建委托协议。通过这种方式,它可以下载异步,并在完成后仍然可以回调。更好的方法是使用块进行回调。此模式用于流行的ASIHttpRequest类。
您甚至可以将此类作为表视图的委托和数据源。这样,您只需在完成加载后调用[tableview reloadData]
。缺点是这会混淆MVC模式。