title: How to return current method in GCD block?
body: <p>Here is my code:</p>
  
  <pre><code>- (void)viewDidLoad {
      [super viewDidLoad];
  
      [self testGCD];
  }
  
  - (void)testGCD {
      static dispatch_once_t onceToken;
      dispatch_once(&amp;onceToken, ^{
          NSLog(@"1");
          return;
      });
      NSLog(@"2");
  }
  </code></pre>
  
  <p>The console printed 1 <strong>and</strong> 2.</p>
  
  <p>What I want is only to print 1 the first time. I think maybe the <code>return</code> is not returning from the method, but instead from the block.</p>
  
  <p>Is there any way I can return from the current method in this GCD block?</p>