2016-12-15 3 views
2

누구나 알고 있습니다. 사용자가 특정 화면과 상호 작용하는 동안 서비스 호출을 수행하는 방법. 사용자가 앱과 상호 작용하는 동안 추가 데이터를 호출해야한다는 뜻입니다. 장치가 멈춘 것처럼 보입니다. 도와주세요, 제발. GET 요청을 사용 당신이 어떤 코드를 언급하지 않은 것처럼앱을 실행하는 동안 i 백그라운드에서 서비스 전화를 걸려면 어떻게해야합니까?

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

은 코드를보기 . – Losiowaty

+0

@Losiowaty 어떤 코드? OP가 뭔가를하는 방법을 묻고 있는데, 이것은 다소 그/그녀는 이것에 대한 코드가 없다는 것을 의미합니다. 아니면 앱의 다른 부분을 요구하고 있습니까? 그렇다면 부품을 지정하십시오. – Cristik

+0

"하지만 여전히 장치가 멈춘 것처럼 보입니다."- OP에서이 작업을 수행하려고 시도했습니다. – Losiowaty

답변

0

앱이 걸려있는 이유입니다. 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

-1

, 난 당신이 main 스레드에서 것을 모든 작업을 수행하는 가정 이 코드에 대한

+0

이 답변은 불완전합니다. 질문자는이 코드를 어디에 게시해야합니까? – Cristik

+0

@Cristik 이미 Asker가 코드 스 니펫을 게시하지 않았다고 언급 했으므로이 코드를 어디에 넣어야하는지 정확하게 알 수 없습니다. 그러나 나의 대답은 질문자가 적절한 장소에 놓을 수있는 문제와 그 해결책 뒤에있는 이유를 포함한다. –

+0

질문자가 답변을 제공 할만큼 충분한 세부 정보를 제공하지 않은 경우 그 세부 정보를 제공하도록 요청하십시오. 공백으로 답변을 찍는 것은 좋은 생각이 아닙니다. – Cristik