パラメータとしてjsonオブジェクトを取るWebサービスを使用しています。これが私のコードです:
-(void)createHttpHeaderRequest {
NSString *x = @"{\"GetVehicleInventory\": {\"ApplicationArea\": {\"Sender\": {\"ComponentID\":}}}" (something like that)
NSString *sample = [NSString stringWithFormat:@"https://trialservice.checkitout?XML_INPUT=%@",x];
NSString * final = (NSString *) CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)sampleReq, NULL, CFSTR(":/?#[]@!$&'()*+,;=\""), kCFStringEncodingUTF8);
NSMutableRequest *request = [NSMutableREquest requestWithURL:[NSURL URLWithString:final]];
NSURLConnection * theConnection = [[NSURLConnection alloc]initWithRequest:theRequest delegate:self];
if (theConnection) {
NSLog(@"Service hit");
}
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
NSError * error;
NSDictionary * dict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&error];
NSArray * categories = [dict objectForKey:@"category"];
[self.delegate giveControlBackToController:categories];
}
NSLog サンプルを試してみると、完全な URL が返され、ブラウザに貼り付けると結果が返されますが、リクエストで NSLog を呼び出すと、null が表示され、その後何も起こりません。コントロールがその NSURLConnection デリゲート メソッドに移動することはありません。