2011-01-09 8 views
0

UI를 고정하지 않고 메서드를 일시 중지 한 다음 어떻게 처리하면 계속 진행할 수 있습니까?코코아 - 메서드 일시 중지

감사합니다,

케빈

+1

디버거 유무와 관계 없습니까? –

+0

NSOperation. 더 많은 정보를 제공해 드리 겠지만, 현재 어떻게하는지 배우고 있습니다. http://developer.apple.com/library/ios/#technotes/tn2009/tn2109.html –

답변

3

이 임의의 방법의 실행을 방해 할 수있는 방법이 아니다 다음 나중에 다시 시작합니다.

일시 중지 할 수있는 작업 단위를 나타내는 여러 조각으로 메소드를 구분할 수 있습니다. 그런 다음 특정 일시 정지 간격 타이머 (NSTimer의 또는 [NSObject performSelector:withObject:afterDelay:]를 사용할 수 있습니다.

당신이 여기에 몇 가지 더 구체적으로 유용한 제안을 허용 할 수 있습니다 뭘 하려는지에

더 많은 정보를 제공합니다.

2

가하는 방법이있다 UI가 멈추는 것을 막아줍니다. 타이머도 마찬가지입니다. 이것은 우리가 루프를 실행 한 이유입니다. (실제로는 사실이 아니지만 사실은 그렇습니다.)

이것을 함수에 삽입하면됩니다. 모든 것이 작동합니다 :

while(pauseFunction) 
{ 
    [[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.1f]]; 
} 

비고 : runloop로 예약 된 모든 것이 계속 실행 중이며 UI, 타이머, 네트워킹 등입니다.

+0

pauseFunction이란 무엇입니까? – lab12

+0

@Kevin : 함수를 일시 중지하려는 경우 true로 평가해야하며 함수가 일시 중지되어야하면 false로 다시 평가해야합니다. – JustSid

+0

NSRunLoop의 용도는 무엇입니까? UI가 정지되는 것을 막을 수 있습니까? – lab12