私は iOS が初めてで、Google API 方向サービスを呼び出して解析したいのですが、post メソッドを使用して Web サービスを呼び出す方法は知っていますが、パラメーターを URL に統合し、そこから json 応答を取得する方法がわかりません。私を助けてください。
質問する
233 次
2 に答える
1
以下のコードを参照してください、あなたはいくつかのアイデアを得るでしょう。
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul);
dispatch_async(queue, ^{
NSString *stringOrigin = @"Surandai";
NSString *stringDestination = @"Coimbatore";
NSData *dataDirection = [NSData dataWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@"https://maps.googleapis.com/maps/api/directions/json?origin=%@&destination=%@&sensor=true", stringOrigin, stringDestination]]];
NSDictionary *dictionaryDirection = [NSJSONSerialization JSONObjectWithData:dataDirection options:NSJSONReadingAllowFragments error:nil];
dispatch_sync(dispatch_get_main_queue(), ^{
NSLog(@"dictionaryDirection - %@", dictionaryDirection);
//Do UI update here
});
});
于 2012-12-22T13:09:16.167 に答える
1
NSURLConnection
Postを使用してデータを渡すには、setHTTPBody
メソッドを使用できます。
次のコードを使用できます。
NSURL *aUrl = [NSURL URLWithString:@"yourURL"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:aUrl
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:60.0];
NSURLConnection *connection= [[NSURLConnection alloc] initWithRequest:request
delegate:self];
[request setHTTPMethod:@"POST"];
NSString *postString = @"username=Midhun&password=Midhun";
[request setHTTPBody:[postString dataUsingEncoding:NSUTF8StringEncoding]];
didReceiveData
また、応答データはデリゲートメソッドを介して取得できます。NSMutableData
さらに使用するには、受信したデータをオブジェクトに追加する必要があります。
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
[receivedData appendData:data];
}
于 2012-12-22T12:59:16.413 に答える