2012-06-21 2 views
0

2 개의 타이머를 사용하여 일련의 활동 (A 및 B)을 만들고 싶습니다. 타이머를 무효로 할 때 몇 가지 문제가 발생합니다 ... 계속 하시겠습니까? 감사합니다 !!!NSTimer - 활동 순서 - 타이머를 무효화하는 방법?

timerAStart = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(startActivityA) userInfo:nil repeats:NO]; 
timerAStop = [NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(StopA) userInfo:nil repeats:NO]; 
timerBStart = [NSTimer scheduledTimerWithTimeInterval:3 target:self selector:@selector(startActivityB) userInfo:nil repeats:NO]; 
timerBStop = [NSTimer scheduledTimerWithTimeInterval:4 target:self selector:@selector(StopB) userInfo:nil repeats:NO]; 
- (void) StopA { 
[timerAStart invalidate]; 
timerAStart=nil; 
} 
- (void) StopB { 
[timerBStart invalidate]; 
timerBStart=nil; 
} 
+0

'무효화'와 관련하여 어떤 문제가 있습니까? – mopsled

+0

[timerAStart invalidate] 라인의 EXC_BAD_ACCESS; – Beppino66

+0

호 또는 수동 보유 수를 사용하고 있습니까? – Pfitz

답변

1

타이머가 비 반복적이므로 무효화 할 필요가 없습니다. 설명서를 보면 비 반복 타이머가 자체 무효화되는 것을 볼 수 있습니다.

+0

ok, 나는 동의한다. .. 나의 문제는 그렇다. 그것은 A가 무한 루프 다. ... 나는 그것을 멈출 수 있었느냐? – Beppino66

+0

startActivityA가 무한 루프를 발생 시킨다는 말입니까? 그 코드를 게시 할 수 있습니까? – Dancreek

+0

Dancreek, 당신의 대답은 나에게 옳은 길을 가르쳐주었습니다 ... 나는 접근 방식을 바꾸어야하고 카운터 같은 루프에서 빠져 나올 것을 찾아야합니다 ... 정말 고마워요! 차오 – Beppino66