Запуск 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.