1 #import "ViewController.h" 2 3 @interface ViewController () 4 5 @property(strong,nonatomic) NSTimer *timer; 6 7 @end 8 9 @implementation ViewController 10 11 - (void)viewDidLoad { 12 [super viewDidLoad]; 13 14 self.timer = [NSTimer timerWithTimeInterval:1.0 target:self selector:@selector(runTimer) userInfo:nil repeats:YES]; 15 16 [self.timer fire]; 17 } 18 19 - (void)runTimer{ 20 [NSThread detachNewThreadSelector:@selector(startTimer) toTarget:self withObject:nil]; 21 } 22 23 - (void)startTimer{ 24 NSLog(@"开始执行"); 25 } 26 27 @end 28 29 30 /* 31 请问:“开始执行”会执行几次? 32 解答:一次。 33 原因:startTimer了在子线程上,但子线程的运动循环未开启,fire方法使用定时器强制执行一次,所以打印一次。 34 */