2014-10-29 2 views
0

로그인 버튼을 누르면 다음과 같은 신속한 코드가 발생합니다.보기를 숨기는 데 오랜 시간이 걸림

@IBAction func login(sender: UIButton) 
{ 
    sender.hidden = true; 
    self.loader.hidden = false; 
    println("HIDDEN"); 
    sleep(2);   
} 

그러나 로그인 버튼은 콘솔에 "HIDDEN"이 인쇄 된 후에 실제로 숨겨지기까지 오랜 시간이 걸립니다. 나는 이것이 수면 (2)을 추가 한 시뮬레이션 된 지연 때문에 발생한다고 추측하지만 버튼을 숨긴 후 어떻게 잠을 자게 될지 잘 모르겠습니다.

+0

GCD'dispatch_after' 사용 –

+2

버튼 응답자에서 잠을 자지 않아야합니다. 이 시간 동안 응용 프로그램이 응답하지 않게됩니다. 수면으로 정말로 무엇을 이루고자합니까? –

+0

원격 서버로 인증하는 데 걸리는 시간을 시뮬레이트합니다. –

답변

1

이 비평은 비동기 적으로 작동하여 숨기기 작업을 일시 중지시키는 주요 스레드를 차단하지 않는이 솔루션으로 안내합니다.

관련 문제