2010-08-06 5 views

답변

2

더 나은 방법은 performSelector:withObject:afterDelay: 방법을 사용할 수 있습니다 : 방법은 여러 매개 변수를 사용하는 경우가

[self performSelector:@selector(myMethod:) withObject:parameter afterDelay:3.0f]; 

해야합니다 :

[self performSelector:@selector(myMethod) withObject:nil afterDelay:3.0f]; 

또는 경우 방법에

1 개 매개 변수를 NSInvocation 클래스를 사용하십시오.

+0

최소 코드가 필요하기 때문에 대답을 선택했습니다. :] – user377419

+0

지연이 경과하기 전에 실렉터를 실행하지 못하게하거나 중지하려는 경우 아래에서 slf의 대답을보고 싶을 수 있습니다. – Etienne

3

0에서 3까지 카운트하는 타이머와 다른 점은 무엇입니까? 그것은 여전히 ​​3 초를 기다린다.

[NSTimer scheduledTimerWithTimeInterval:3.0 target:self selector:@selector(myMethod:) userInfo:nil repeats:NO];

1
- (void) handleTimer: (NSTimer *) timer 
{ 
    do some work here... 
} // handleTimer 

// at some point in your controller 
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval: 3.0 
       target: self 
       selector: @selector(handleTimer:) 
       userInfo: nil 
       repeats: NO];