这个问题是关于在我的应用中实现连接和解析器的最佳方法。
对于Instance,我的应用程序包含15个URL请求,可以返回15个预期的返回XML格式响应。
通常我遵循以下方法。
1. URLManager //This file manages URL and request paths
2. MyConnection//In this Class, I make NSURLConnection and one delegate to return back to Controller when opertion is done. I distinguish URLs using enum.
3. Several Parsers for parsing NSData which my controller gets from Connection file. as parsing finished, I use Delegate to pass Parsed Data to Controller which is usually objects in an array to use in Controller.
通过这种方式,我需要制作许多解析器,并且还必须面对一个whiile的GUI,直到值被下载和解析。
我想知道开发iOS应用程序的标准方法,以便它可以提供最佳性能和稳定性。
由于
答案 0 :(得分:0)
据我说。
最好的方法是使用sendAsynchronousRequest
进行块编码
enum for webservice respoce。
typedef void (^onGetSuccess)(BOOL success,NSArray *arrProduct);
**Webservice Calling**
-(void)getData:(onGetSuccess)block{
[NSURLConnection sendAsynchronousRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:GET_SERVERT_URL]] queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
if ([data length]>0) {
NSString *str=[[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
NSDictionary *dict=[NSDictionary dictionaryWithXMLString:str];
NSMutableArray *arrRespoce=[dict objectForKey:@"dict"];
block(YES,arrRespoce);
}
else{
block(false,nil);
}
}];
}
xml to dict convertion