제목으로 사용자가 원하는만큼 버튼을 클릭하면 uilabel이 번호로 업데이트되고 앱이 번호를 게시하기 위해 API를 호출합니다. 서버. api가 호출 될 때를 제외하고는 모두 잘 작동하며, uilabel은 2 - 5 초 동안 멈추고 사용자가 버튼을 눌러도 업데이트하지 않습니다. 백그라운드에서 api를 호출하고 메인 큐의 UI를 업데이트하려고 시도했지만 작동하지만 1 - 3 초 동안 잠시 멈춰야합니다. 왜냐하면 많은 사용자가 버튼을 동시에 누르면 레이블이 모든 사용자로 업데이트되기 때문에 서버에 카운트를 게시해야하는 이유가 있습니다.목표 c API가 호출 될 때 UIlabel이 잠시 멈춤.
흐름 : 사용자가 원하는만큼 버튼을 누르면 uilabel이 사용자가 버튼을 몇 번 눌렀는지, 매 5 초마다 api가 호출되어 uilabel이 번호를 업데이트하도록 업데이트됩니다 다시.
이 문제를 해결하거나 개선하기위한 제안이 있으십니까? 고마워요
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
[MyApiManager postHitCount:hitCountModel block:^(id object, NSError *error)
{
dispatch_async(dispatch_get_main_queue(), ^{
[self setUpCount];
});
if ([self checkError:error])
return;
}];
});
그래서 우리가 보는 현재보기에 어떤 일을 상호 작용하지 않도록 관리해야합니다. – AdamPro13
백그라운드 스레드에서 api를 수행하고 메인 스레드에서 ui를 업데이트하십시오. 난 당신이 API를 호출하고 메인 스레드에서 UI가 업데이 트를 일으키는 원인이 생각 – Vinodh