-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