延迟执行
// 延迟执行不要用sleep,坏处:卡住当前线程
[NSThread sleepForTimeInterval:(NSTimeInterval)];
// 一旦定制好延迟任务后,不会卡主当前线程
[self performSelector:<#(SEL)#> withObject:<#(id)#> afterDelay:<#(NSTimeInterval)#>];
//n秒后回到主线程执行block中的代码
dispatch_queue_t queue = dispatch_get_main_queue();
//n秒后自动开启新线程 执行block中的代码
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(n * NSEC_PER_SEC)), queue, ^{
// n秒后需要执行的任务
});
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步