2013-03-04 8 views
2

в моем приложении, мне нужно позвонить в веб-службу, чтобы получить данные (http get). Я новый ios-разработчик, мне интересно, должен ли я отправлять HTTP-вызов на задний план и приводить данные перезагрузки Tableview на передний план, как в приведенном ниже коде? спасибо, куча!Должен ли я отправлять вызов веб-службы в фоновом режиме на разработку ios

-(void)updateDataInBackground { 
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND,0), ^(void) { 

     // hard work/updating here 

     // when finished ... 
     [self reloadTable]; 
    }); 
} 

-(void)reloadTable { 
     dispatch_async(dispatch_get_main_queue(), ^(void) { 
      [myTableView reloadData]; 
     }); 
} 
+0

Почему вам нужно запустить веб-служб в фоновом режиме, не могу вам сделать то же самое, когда приложение происходит от фона? –

+0

Возможный дубликат [IOS Grand Central Dispatch с методом обратного вызова] (http://stackoverflow.com/questions/13115657/ios-grand-central-dispatch-with-callback-method) –

+1

Этот код выглядит хорошо для меня. BTW это «на переднем плане», а не «front ground» ;-) – trojanfoe

ответ

3

Для совершенных и полных результатов, используйте этот код:

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 

     @autoreleasepool { 
      //your webservice operations here 
     } 

    }); 
+0

Он отлично работает, но есть ли другой способ запустить веб-сервис с большей скоростью в фоновом режиме. –

+0

Поскольку большинство приложений в магазине приложений используют библиотеку AFNetworking для вызовов веб-сервисов. Вы можете сравнить свою скорость после использования. Вы можете скачать AFNetworking из-под URL-адреса. https://github.com/AFNetworking/AFNetworking –

+0

Спасибо, что это мне помогло. –

 Смежные вопросы

  • Нет связанных вопросов^_^