-2
我有一个完整的iphone应用程序使用webview,但我正在考虑将其转换为本机应用程序。我在我的应用程序中有几个AJAX API调用,那么如何使用objective c使用相同的参数进行相同的api调用并解码来自它的json格式的响应?将我的iOS webview应用程序转换为本地应用程序
我只需要很好的指针来构建这种应用程序。
我有一个完整的iphone应用程序使用webview,但我正在考虑将其转换为本机应用程序。我在我的应用程序中有几个AJAX API调用,那么如何使用objective c使用相同的参数进行相同的api调用并解码来自它的json格式的响应?将我的iOS webview应用程序转换为本地应用程序
我只需要很好的指针来构建这种应用程序。
这是在后台线程同步调用中执行此操作的示例。 如果你在前台运行它,你应该做一个异步调用。 检查NSURLConnection的Apple文档。
NSMutableDictionary *allParams = [NSMutableDictionary dictionary];
[allParams setObject:@"fieldvalue1" forKey:@"fieldname1"];
[allParams setObject:@"fieldvalue2" forKey:@"fieldname2"];
[allParams setObject:@"fieldvalue3" forKey:@"fieldname3"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:@"http://someserver/somecgi/"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPMethod:@"POST"];
NSInputStream *inputStream = [allParams queryInputStream];
[request setHTTPBodyStream:inputStream];
NSHTTPURLResponse *urlResponse = nil;
NSError *urlError = nil;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:&urlError];
NSMutableDictionary *resultDict = nil;
if (responseData)
{
if ([urlResponse statusCode] >= 200 && [urlResponse statusCode] < 300)
{
NSString *result = [[[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding] autorelease];
/* parse your result here */
}
}
[RestKit](http://restkit.org)是一个可以轻松实现与RESTful JSON/XML服务交互的框架。该框架提供了将Web服务响应提取,解析和对象映射到目标c对象的机制。 – mja
方式太宽泛。分解成至少3个问题,并显示一些代码请! – CodaFi