推迟执行

IOS中延时执行的几种方式的比较

走远了吗. 提交于 2019-12-03 08:44:09
performSelector方法 执行方法: [self performSelector:<#(SEL)#> withObject:<#(id)#> afterDelay:<#(NSTimeInterval)#>]; 取消执行方法: [ NSObject cancelPreviousPerformRequestsWithTarget:<#(id)#> selector:<#(SEL)#> object:<#(id)#> ];//这里的方法是 NSObject的静态方法 特点: 此方式要求必须在主线程中执行,否则无效。 是一种非阻塞的执行方式。 2. NSTimer 执行方法: NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:<#(NSTimeInterval)#> target:<#(id)#> selector:<#(SEL)#> userInfo:<#(id)#> repeats:<#(BOOL)#>]; 取消方法: [timer invalidate ];//这里的是减方法 特点: 此方式要求必须在主线程中执行,否则无效。 是一种非阻塞的执行方式。 3. NSThread 执行方法: NSThread *thread = [[NSThread alloc]initWithTarget:<#(id)#>