菜鸟教程小白 发表于 2022-12-12 20:50:58

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>您的相机位于堆栈中,而objective-c 在具有不支持引用计数的变量的 block 中工作不佳。尝试在 NSObject 中移动这个数组:</p>

<pre><code>@interface TenCameras : NSObject
{
@public
    cameras camera;
}
@end
</code></pre>

<p>那么你的代码将是这样的:</p>

<pre><code>dispatch_async(background_thread, ^{
    TenCameras tenCameras;
    .
    .
    for(int i=0; i&lt;ncam; i++) {
      dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0),^{
            iPoint subPoints;
            subPoints.x = tenCameras-&gt;camera.x + ((int)tenCameras-&gt;camera.mindist)*cos(tenCameras-&gt;camera.dir + (tenCameras-&gt;camera.angle)/2);
            .
            .
            .
      });
    }
});
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 不能在 block 内引用具有可变修改类型的声明,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/22658656/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/22658656/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 不能在 block 内引用具有可变修改类型的声明