菜鸟教程小白 发表于 2022-12-13 05:28:53

ios - 返回 __block 变量是如何工作的?


                                            <p><div>
            <aside class="s-notice s-notice__info post-notice js-post-notice mb16"role="status">
      <div class="d-flex fd-column fw-nowrap">
            <div class="d-flex fw-nowrap">
                <div class="flex--item wmn0 fl1 lh-lg">
                  <div class="flex--item fl1 lh-lg">
                        <b>这个问题在这里已经有了答案</b>:
                        
                  <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>__block 关键字允许您修改(读写访问)变量,这里是传输器。
如果您的方法 requestTransporter 是同步的,他将被执行并在调用结束之前执行他的完成 block 。
您也可以使用以下模式。</p>

<pre><code>- (void) getTransporter:(NSNumber *)transporterId withCompletionBlock:(void(^)(Transporter*))completionBlock
{
    if(!completionBlock)
      return; //Avoid crashs.

    for(Transporter *transporter in transporters)
    {
         if()
         {
             completionBlock(transporter);
             return;
         }
    }

    [self requestTransporter:transporterId completion:^(NSObject *entity) {
      completionBlock((Transporter* )entity);
   }];
}
</code></pre>

<p>并像这样使用它:</p>

<pre><code>// transporterId is an NSNumber containing your transporter id.
[self getTransporter:transporterId withCompletionBlock:^(Transporter *transporter) {
    // Execute your code using transporter object here.
}];
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 返回 __block 变量是如何工作的?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/19948511/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/19948511/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 返回 __block 变量是如何工作的?