2016-12-15 8 views
2

Кто-нибудь знает. как сделать вызов услуги во время взаимодействия пользователя с конкретным экраном. Я имею в виду, мне нужно вызвать дополнительные данные, пока пользователь взаимодействует с приложением. но он по-прежнему выглядит как устройство зависает. Помоги мне, пожалуйста.Как сделать вызов службы в фоновом режиме во время работы приложения ios

+0

Показать код , – Losiowaty

+0

@ Losiowaty какой код? ОП спрашивает, как что-то сделать, этот вид означает, что у него нет кода. Или вы просите другие части приложения? Если да, укажите, какие части. – Cristik

+0

«но по-прежнему выглядит как устройство повесить» - из этого я предположил, что ОП пытался это сделать. – Losiowaty

ответ

0

Для Получить запроса использовать этот код

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; 
[manager GET:@"http://example.com/resources.json" parameters:nil progress:nil success:^(NSURLSessionTask *task, id responseObject) { 
    NSLog(@"JSON: %@", responseObject); 
} failure:^(NSURLSessionTask *operation, NSError *error) { 
    NSLog(@"Error: %@", error); 
}]; 

или

NSURL *URL = [NSURL URLWithString:@"http://example.com/resources/123.json"]; 
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; 
[manager GET:URL.absoluteString parameters:nil progress:nil success:^(NSURLSessionTask *task, id responseObject) { 
    NSLog(@"JSON: %@", responseObject); 
} failure:^(NSURLSessionTask *operation, NSError *error) { 
    NSLog(@"Error: %@", error); 
}]; 
+0

Что должен делать ассер с кодом, который вы отправили? Он хочет выполнить служебный вызов, находясь в фоновом режиме, ответ на этот вопрос? – Cristik

-1

Как вы не упоминали любой фрагмент кода, я предположить, что вы выполняете все операции на main нити и является причиной, по которой ваше приложение висит. Конкретно о main нити и background нити, мы выполняем все задачи, связанные с UI на main нити и background задач на некоторых других thread.So вы можете создать еще один поток для background задачи, как это:

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ 
    //Perform your background task here 
}); 
+0

Этот ответ неполный. Где должен быть указан этот код? – Cristik

+0

@Cristik Как я уже упоминал, что у читателя не был отправлен фрагмент кода, поэтому я не могу точно указать, где разместить этот код. Но мой ответ включает в себя причину проблемы и ее решение, которое может задать вопроснику в соответствующем месте. –

+0

Если искатель не предоставил достаточно подробностей, чтобы вы могли ответить, пожалуйста, попросите его предоставить эти данные. Ответы на съемку в пробе - это не очень хорошая идея. – Cristik