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)
    }
});