主線程的解決方式async
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); }
子線程的解決方式
oop
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); }