使用AGSJSONRequestOperation完成webservice资源的请求

来源:互联网 发布:c语言初始化程序 编辑:程序博客网 时间:2024/05/22 03:21

相信大家在做iOS应用时,少不了都会有一些Web资源的请求需求。这时可以考虑网上的第三方库,比如AFNetworking、ASIHTTPRequest等。但是如果你恰好使用了ArcGIS.Framework,Esri已经给我们提供了一个专门处理类似请求的

Objective-C类——AGSJSONRequestOperation。

          AGSJSONRequestOperation的使用流程:

A、要求:安装了ArcGIS Runtime SDK for iOS

B、使用流程:

声明

@property (nonatomic,strong)AGSJSONRequestOperation* currentJsonOp;

@property (nonatomic,strong)NSOperationQueue *queue;

    初始化

self.queue = [[NSOperationQueuealloc]init];

构造请求参数

NSMutableDictionary* params = [NSMutableDictionary dictionary];[params setObject:citycode forKey:@"citycode"];[params setObject:wh forKey:@"queryStr"];          [params setObject:@"json" forKey:@"f"];        NSString *temURL=@"http://st.geoq.cn/geocode/xxxxx/single?";    NSURL *url = [NSURL URLWithString: [temURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];    self.currentJsonOp = [[AGSJSONRequestOperation alloc]initWithURL:url queryParameters:params];        self.currentJsonOp.target = self;self.currentJsonOp.action = @selector(operation:didSucceedWithResponse:);self.currentJsonOp.errorAction = @selector(operation:didFailWithError:);[self.queue addOperation:self.currentJsonOp];
     处理请求响应
- (void)operation:(NSOperation*)op didSucceedWithResponse:(NSDictionary *)dataInfo {    //NSLog(@"%@", dataInfo);}

- (void)operation:(NSOperation*)op didFailWithError:(NSError *)error {UIAlertView* av = [[UIAlertView alloc] initWithTitle:@"Sorry"  message:[error localizedDescription] delegate:nil cancelButtonTitle:@"OK"    otherButtonTitles:nil];[av show];}




0 0