NSTimer 的用法

原创
2015/08/28 14:31
阅读数 91





NSTimer在有大量的用户点击事件时会被阻塞

主线程的解决方式

  NSTimer *timer=[NSTimer scheduledTimerWithTimeInterval:2 target:self selector:
  @selector(test:) userInfo:@"你好" repeats:YES];
    [[NSRunLoop mainRunLoop]addTimer:timer forMode:NSRunLoopCommonModes];

    
-(void)test:(NSTimer *)message{
    NSLog(@"%@",message.userInfo);
}




子线程的解决方式

    dispatch_queue_t queue=dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);

    dispatch_async(queue, ^{
        NSLog(@"start asynic");

        NSTimer *timer=[NSTimer scheduledTimerWithTimeInterval:2 target:self selector:
        @selector(test) userInfo:@"你好" repeats:YES];
        NSRunLoop *runLoop = [NSRunLoop currentRunLoop];
        [runLoop run];


        [runLoop addTimer:timer forMode:NSDefaultRunLoopMode];

    });
    
    
    -(void)test:(NSTimer *)message{
    NSLog(@"%@",message.userInfo);


}




展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部