在我的应用中,我正在从detailsView
加载tableView
。我需要获取一个XML文档(使用SOAP),解析它,然后显示我在detailsView
中获得的信息。因此,在加载我的detailsView
时,我想等待解析器在显示我的detailsView
之前解析整个文档。
在我的解析器中,我正在使用NSURLConnection
,以及NSXMLParserDelegate
的方法,如parserDidStartDocument
等...
我曾想过使用线程,但我没有得到任何结论。
我想明确我想做什么,但这很难:s
如果需要,我会提供更多信息。
答案 0 :(得分:0)
您可以在viewDidLoad或viewWillAppear方法中执行此操作,但您必须隐藏所有detailview的控件,直到它从服务器加载数据,然后在您从解析器获得响应时显示它的响应时显示它。您可以在解析响应时显示加载指示符。你需要异步调用你的url。
在viewWillAppear方法中执行类似的操作:
NSURL *url = [NSURL URLWithString:@"www.yourwebserviceurlhere.com"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[[NSURLConnection alloc] initWithRequest:request delegate:self];
实施连接委托方法。
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data;
- (void)connectionDidFinishLoading:(NSURLConnection *)connection;
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error;
在FinishLoadingData之后,您需要通过实现XMLParser委托方法来解析数据,并且在完成解析后需要显示详细视图。
就是这样。希望这有帮助。