Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- - (void)viewDidLoad {
- [super viewDidLoad];
- [self testGCD];
- }
- - (void)testGCD {
- static dispatch_once_t onceToken;
- dispatch_once(&onceToken, ^{
- NSLog(@"1");
- return;
- });
- NSLog(@"2");
- }
- - (void)testGCD {
- static dispatch_queue_t queue = dispatch_queue_create("com.example.MyQueue", NULL);
- static bool firstRun = YES;
- dispatch_sync(queue, ^{
- if (firstRun) {
- NSLog(@"1);
- firstRun = NO;
- } else {
- NSLog(@"2");
- }
- });
- }
- - (void)testGCD {
- static BOOL didTrigger = NO;
- if(didTrigger) {
- NSLog(@"2");
- }
- else {
- didTrigger = YES;
- NSLog(@"1");
- }
- }
- - (void)testGCD {
- static dispatch_once_t onceToken;
- static BOOL didInvokeOnceBlock = NO;
- static BOOL didPassSkippedBlock = NO;
- dispatch_once(&onceToken, ^{
- NSLog(@"1");
- didInvokeOnceBlock = YES;
- });
- if(didInvokeOnceBlock && didPassSkippedBlock) {
- NSLog(@"2");
- }
- didPassSkippedBlock = YES;
- }
- - (void)testGCD {
- static dispatch_once_t onceToken;
- __block NSString *text = @"2";
- dispatch_once(&onceToken, ^{
- text = @"1";
- });
- NSLog(@"%@", text);
- }
Add Comment
Please, Sign In to add comment