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<ncam; i++) {
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0),^{
iPoint subPoints;
subPoints.x = tenCameras->camera.x + ((int)tenCameras->camera.mindist)*cos(tenCameras->camera.dir + (tenCameras->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]