一次性任务在程序的整个生命周期只运行一次且一次(one and only once)
dispatch_once(—, ^block {})
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
//使用带snippet的快捷键
// static dispatch_once_t onceToken;
// dispatch_once(&onceToken, ^{
// //
// });
for (int i = 0; i < 10; i++) {
NSLog(@"进入for循环,执行次数:%d",i);
//创建一个静态的一次性任务对象
static dispatch_once_t onceToken;
//执行一次性任务
dispatch_once(&onceToken, ^{
//只运行一次且一次
NSLog(@"====只运行一次====");
});
}
}
@end
本文详细介绍了如何在Objective-C中使用dispatch_once实现一次性任务的执行。通过具体代码示例展示了如何确保某段代码在整个程序生命周期内仅执行一次,这对于初始化等场景非常有用。
1558

被折叠的 条评论
为什么被折叠?



