Objective c 使用dispatch_apply()并行化循环时更改变量
我有以下代码:Objective c 使用dispatch_apply()并行化循环时更改变量,objective-c,objective-c-blocks,grand-central-dispatch,Objective C,Objective C Blocks,Grand Central Dispatch,我有以下代码: Matrix mat; for (int y=0; y<n; ++y) { for (int x=0; x<m; ++x) { // do some small operation on mat(y,x) } }; 问题在于变量mat,它在块内被定义为只读。有办法解决这个问题吗?如果您希望一个变量(ref)可以从一个块中写入,您可以在它前面加上\u block 例如,块矩阵矩阵矩阵您可以尝试将mat声明为块矩阵mat谢谢你的
Matrix mat;
for (int y=0; y<n; ++y)
{
for (int x=0; x<m; ++x)
{
// do some small operation on mat(y,x)
}
};
问题在于变量mat
,它在块内被定义为只读。有办法解决这个问题吗?如果您希望一个变量(ref)可以从一个块中写入,您可以在它前面加上\u block
例如,
块矩阵矩阵矩阵代码>您可以尝试将mat声明为块矩阵mat代码>谢谢你的帮助。那么让我接受答案的时候。
Matrix mat;
dispatch_apply(PATCH_SIZE, _queue, ^(size_t y)
{
for (int x=0; x<m; ++x)
{
// do some small operation on mat(y,x)
}
});