IOS NSTimer 타이머

2507 단어
NSTimer 초기화
초기화 방법: 다섯 가지 초기화 방법이 있다
  • (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti invocation:(NSInvocation *)invocation repeats:(BOOL)yesOrNo;//예://Invocation 객체 NSInvocation * invo = [NSInvocation invocation With Method Signature: [[[self class] instance Method Signature For Selector: @selector(init)]]];[invo setTarget:self]; [invo setSelector:@selector(timerAction)]; NSTimer * timer = [NSTimer timerWithTimeInterval:1 invocation:invo repeats:YES];//주 순환 탱크에 [[NSRunLoop mainRunLoop]addTimer:timer forMode:NSDefaultRunLoopMode];//[timer fire]를 순환하기 시작합니다
  • (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti invocation:(NSInvocation *)invocation repeats:(BOOL)yesOrNo;//예를 들어 NSTimer * timer = [NSTimer scheduledTimer WithTime Interval: 1 invocation: invo repeats: YES]
  • (NSTimer *)timerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL)yesOrNo;//예를 들어 NSTimer * timer = [NSTimer timer WithTime Interval:1 target:self selector:@selector(timerAction)userInfo:nil repeats:NO]
  • (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti target:(id)aTarget selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL)yesOrNo;//예를 들어 NSTimer * timer = [NSTimer scheduledTimer WithTime Interval: 1 target:self selector: @selector(timerAction:)userInfo: @ "123"repeats: YES]
  • (instancetype)initWithFireDate:(NSDate *)date interval:(NSTimeInterval)ti target:(id)t selector:(SEL)s userInfo:(id)ui repeats:(BOOL)repeats:(BOOL)yesOrNo;//예를 들어 NSTimer * timer = [[NSTimer alloc] initWithFireDate: [NSDate distantPast] interval: 1 target:self selector:@selector(timerAction:) userInfo:nil repeats:YES];[[NSRunLoop mainRunLoop]addTimer:timer forMode:NSDefaultRunLoopMode];

  • 그것의 속성
    @property (copy) NSDate *fireDate;//이것은 타이머의 시작 시간을 설정하는 것으로 타이머의 시작과 정지를 관리하는 데 자주 쓰인다
    // 
    timer.fireDate = [NSDate distantPast];
    // 
    timer.fireDate = [NSDate distantFuture];
    

    @property (readonly) NSTimeInterval timeInterval;//이것은 읽기 전용 속성으로 타이머 호출 간격을 가져옵니다
    @property NSTimeInterval tolerance;//이것은 7.0 이후에 추가된 속성입니다. NSTimer가 정확하지 않기 때문에 이 값을 통해 오차 범위를 설정합니다.
    @property (readonly, getter=isValid) BOOL valid;//타이머가 올바른지 확인하기
    @property (readonly, retain) id userInfo;//매개변수 정보 가져오기
    타이머 해제
    [timer invalidate];//타이머를 순환 탱크에서 제거하는 유일한 방법입니다
    timer=nil;//동시에 비우기

    좋은 웹페이지 즐겨찾기