Запуск URL-адреса в ios

У меня есть метод в моем java webservice, который принимает параметр и запускает sql-запрос для обновления базы данных. Параметры, конечно, вставляются из iphone в URL-адрес и при выполнении URL-кода он вызовет метод webservice для обновления базы данных. Мой вопрос: как выполнить URL-адрес в ios, но не открывать сафари или что-то еще. Вот код:

-(void)updateInfo
{ UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Updating Profile" message:@"Your data have been saved." delegate:self cancelButtonTitle:@"No" otherButtonTitles:@"Yes", nil]; [alert setTag:02]; [alert show];
}
- (void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { GlobalObjects *global = [[GlobalObjects alloc]init]; NSString *url =[NSString stringWithFormat:@"%@/profile/login/update/%@/%@/%@/%@/%@/%@/%@",global.domain,self.user, self.firstName.text,self.address.text,self.city.text,self.country.text,self.zipCode.text,self.phone.text]; if (alertView.tag == 02 && buttonIndex != alertView.cancelButtonIndex) { // The URL execution method should come here. }
}
1 ответ

Абсолютная минимальная (и не очень хорошая практика) пример NSURLConnection:

NSURLRequest * urlRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://google.com"]];
NSURLResponse * response = nil;
NSError * error = nil;
NSData * data = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&response error:&error];
if (error == nil)
{ // Parse data here
}

Вы должны действительно использовать асинхронную версию, чтобы не блокировать основной поток. Проверьте это.

licensed under cc by-sa 3.0 with attribution.