IOS 에서 NSTimer 타이머 사용

3085 단어 IOSNSTimer
IOS 에서 NSTimer 타이머 사용
NSTimery 타 이 머 는 지정 한 방법 을 정기 적 으로 실행 하 는 데 사 용 됩 니 다.예 를 들 어 인증 코드 를 가 져 오 는 버튼 의 카운트다운 을 자주 사용 합 니 다.사진 윤 방 정시.
1 사용 주의사항:
1.1 카운트다운 간격(시간 단 위 는 초)
1.2 지 정 된 실행 방법
1.3 지 정 된 실행 방법 을 실현 하 는 대상
1.4 중복 실행 여부
2 대상 의 메모리 관리 및 소각
2.1 사용 방법"invalidate"정지
2.2 대상 을"nil"로 설정
2.3 특히 다른 보기 컨트롤 러 로 돌아 갈 때 방법 에 있어 야 합 니 다."-(void)view WillDisappear:
     (BOOL)animated"중(주의:방법 에 있 을 수 없습니다"-(void)dealloc 가 설정 되 어 있 습 니 다)timer 를 멈 추고 nil 로 설정 합 니 다.

//      
- (void)viewWillDisappear:(BOOL)animated 
{ 
  [super viewWillDisappear:animated]; 
   
  [timer invalidate]; 
  timer = nil; 
} 
 
//      
- (void)delloc 
{ 
  [timer invalidate]; 
  timer = nil; 
} 

3 타이머 사용 종료 계속
3.1 시작:

timer.fireDate = [NSDate distantPast]; 
3.2 정지:

timer.fireDate = [NSDate distantFuture]; 
3.3 계속:

[timer setFireDate:[NSDate date]]; 
예제 사용(카운트다운):
세 가지 실례 화 방법,대응 하 는 정지 방법
방법

//      1           
if (self.timer == nil) 
{ 
    self.time = 10.0; 
    //     
    NSNumber *number = @(self.time); 
    self.timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(countDownTime:) userInfo:number repeats:YES]; 
    //      ,       NSDefaultRunLoopMode    
    [[NSRunLoop currentRunLoop] addTimer:self.timer forMode:NSRunLoopCommonModes]; 
} 


//        1 
[self.timer invalidate]; 
self.timer = nil; 

방법

//      2     ,    " setFireDate "      
if (self.timer == nil) 
{ 
    self.timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(countDownTime:) userInfo:nil repeats:YES]; 
    //      ,       NSDefaultRunLoopMode    
    [[NSRunLoop currentRunLoop] addTimer:self.timer forMode:NSRunLoopCommonModes]; 
    [self.timer setFireDate:[NSDate distantFuture]]; 
} 
self.time = 10.0; 
[self.timer setFireDate:[NSDate distantPast]]; 




//        2 
[self.timer setFireDate:[NSDate distantFuture]]; 
방법

//      3     ,    " fire "      
if (self.timer == nil) 
{ 
    self.timer = [NSTimer timerWithTimeInterval:1.0 target: self selector:@selector(countDownTime:) userInfo:nil repeats:YES]; 
    //      NSRunLoop    ,     
    [[NSRunLoop currentRunLoop] addTimer:self.timer forMode:NSRunLoopCommonModes]; 
} 
self.time = 10.0; 
[self.timer fire]; 


//        3 
[self.timer invalidate]; 
self.timer = nil; 

궁금 한 점 이 있 으 시 면 메 시 지 를 남기 거나 본 사이트 의 커 뮤 니 티 에 가서 토론 을 교류 하 세 요.읽 어 주 셔 서 감사합니다. 도움 이 되 셨 으 면 좋 겠 습 니 다.본 사이트 에 대한 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기