IOS에서 NSTimer 타이머 사용

2897 단어
IOS에서 NSTimer 타이머 사용
NSTimery 타이머는 주로 정해진 시간에 지정한 방법을 실행하는 데 사용되는데 주로 검증 코드를 얻는 단추가 카운트다운을 한다.그림이 윤방할 때.
1 사용 시 주의사항:
1.1 카운트다운 간격(시간 단위는 초) 1.2 지정된 실행 방법 1.3 지정된 실행 방법을 실현한 대상 1.4 중복 실행 여부 2 대상의 메모리 관리 및 삭제 2.1 사용 방법'인validate'로 정지 2.2 대상을'nil'로 설정 2.3 특히 다른 보기 컨트롤러로 되돌아갈 때방법 "-(void)viewWill Disappear: (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

//  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

//  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

//  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; 


궁금한 점이 있으면 댓글을 남기거나 본 사이트 지역사회에 가서 토론을 교류하고 읽어주셔서 감사합니다. 여러분께 도움이 되었으면 좋겠습니다. 본 사이트에 대한 지지에 감사드립니다!

좋은 웹페이지 즐겨찾기