2011-11-17 8 views
0

전체 시간 동안 작업을 수행하는 방법을 알아야합니다. 설명하겠습니다. 함수 호출을 10 초 동안 반복하고, 매 1 회만 반복해야합니다. 타이머를 사용해 보았지만, 10 초 동안은 10 초가 아니라 10 초 동안은 기능이라고합니다.초당 한 번씩 10 초 동안 함수를 호출하십시오.

누구에게 아이디어가 있습니까?

감사

+2

"for 10 seconds"란 무엇을 의미합니까? 기능 호출에 10 초가 걸리거나 10 초 내에 가능한 한 빨리 반복적으로 기능 호출을 반복하고 싶습니까? – moonshadow

+0

은 10 초 동안 만 기능 점검을 수행하고자 함을 의미합니다. 두 가지 기능 시작 타이머 및 중지 타이머를 만들고 10 초 동안 호출 시작 타이머를 수행합니다. 10 초 안에 필요한 일을해야한다면 타이머를 멈추고 10 초 후에 타이머를 멈추십시오. –

+0

나는 10 초 동안 명령을 실행하고 멈출 것입니다. 실제로 나는 uiactivity 지시자가 10 초 동안 비교하고 회전하고 그 후에 멈추고 사라지는 것을 whant한다 – AleMal

답변

1

난 당신이 초당 한 번 함수를 호출하고, 십초 후 호출 중지 할 것을 의미 같은데요. 그리고 당신은 간격 (초당 1 회)과 지속 시간 (10 초)을 변경할 수 있기를 원할 것입니다.

@implementation Example 
{ 
    NSTimer *_timer; 
    NSTimeInterval _stopTime; 
} 

- (void)setTimerWithInterval:(NSTimeInterval)interval duration:(NSTimeInterval)duration 
{ 
    [_timer invalidate]; 
    _timer = [NSTimer scheduledTimerWithTimeInterval:interval target:self selector:@selector(timerDidFire) userInfo:nil repeats:YES]; 
    _stopTime = [NSDate timeIntervalSinceReferenceDate] + duration; 
} 

- (void)timerDidFire 
{ 
    if ([NSDate timeIntervalSinceReferenceDate] >= _stopTime) { 
     [_timer invalidate]; 
     return; 
    } 
    NSLog(@"hello from the timer!"); 
} 

- (void)dealloc 
{ 
    [_timer invalidate]; 
    [super dealloc]; // delete this line if using ARC 
} 

@end 
+0

.then 나는 이렇게 부를 수있다 : [self setTimeWithINterval : 1 10]; 옳은? – AleMal

+0

'[self setTimerWithInterval : 1 duration : 10]; ' –

+0

. 오늘 저녁에 나는 그것을 아주 좋아한다. 내가 uiactivityindicator를 시작하기 위해 필요로하는 코드는 어디에서 지금 NSLog (@ "안녕하세요?"); [_timer invalidate] 이후에 중지합니다. dealloc 메서드에서? 옳은? – AleMal

관련 문제