使用NSURLCONNECTION和NSXMLPARSER最好的做法是什么?

时间:2014-04-17 07:05:04

标签: ios parsing connection

这个问题是关于在我的应用中实现连接和解析器的最佳方法。

对于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应用程序的标准方法,以便它可以提供最佳性能和稳定性。

由于

1 个答案:

答案 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

  

XMLDictionary