这个问题在这里已经有了答案:
Best Answer-推荐答案 strong>
您的相机位于堆栈中,而objective-c 在具有不支持引用计数的变量的 block 中工作不佳。尝试在 NSObject 中移动这个数组:
@interface TenCameras : NSObject
{
@public
cameras camera[10];
}
@end
那么你的代码将是这样的:
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[10];
subPoints[0].x = tenCameras->camera[i].x + ((int)tenCameras->camera[i].mindist)*cos(tenCameras->camera[i].dir + (tenCameras->camera[i].angle)/2);
.
.
.
});
}
});
关于ios - 不能在 block 内引用具有可变修改类型的声明,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/22658656/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) |
Powered by Discuz! X3.4 |