在iOS中,如何使用从某些NSURLConnection接收的数据加载模态窗口?

时间:2012-07-22 15:09:47

标签: ios

在我的iPad应用程序中,我想加载带有一些数据的模态窗口。 但是可以从Web服务调用中检索这些数据。所以,我创建了另一个类,在该类的connectionDidFinishLoading中,我可以获得响应数据。由于Web服务调用是异步的,我必须等待数据加载模态窗口。有人可以帮我一些示例代码吗?我应该以不同的方式思考吗?

谢谢大家的快速回复。 我的问题使用NSNotificationCenter解决了。本教程非常有用http://www.youtube.com/watch?v=WB-QCv_4ANU&feature=plcp

2 个答案:

答案 0 :(得分:0)

您可以从connectionDidFinishLoading方法加载模态窗口。或者,您可以使用委托将数据从connectionDidFinishLoading metod传递到您要呈现的窗口。请参阅this教程。

答案 1 :(得分:0)

以这种方式开始连接:

NSURL *url = [NSURL URLWithString:<#your url string#>];
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
myData = [[NSMutableData alloc] init];
con = [[NSURLConnection alloc] initWithRequest:request delegate:self];

您需要实施NSURLConnectionDelegate委托。

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
 //append data to your NSMutableData object
 [myData appendData: data];
}

- (void)connection:(NSURLConnection *)connection
  didFailWithError:(NSError *)error
{    
    //handle the error
}

- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
    //here you can use your NSMutableData object, fill your window with the data etc.
    <#your code#>
}

这只是一个例子。您可以在NSURLConnectionDelegate Protocol Reference中了解有关它的更多信息。