Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 向下滚动列后,NSTableView数据将更新_Objective C_Cocoa_Nstableview_Reloaddata - Fatal编程技术网

Objective c 向下滚动列后,NSTableView数据将更新

Objective c 向下滚动列后,NSTableView数据将更新,objective-c,cocoa,nstableview,reloaddata,Objective C,Cocoa,Nstableview,Reloaddata,我有两个表视图同步在一起,并且都绑定到同一个阵列控制器。在第一个表视图中,列是可编辑的,相应的列值应反映在另一个表视图中。在第一个(可编辑)表视图中,可以选择将值从一列复制到其余列。问题是:当我在第一个表视图中编辑一个列值并将值复制到其他列时,这些值不会反映在第二个表视图中,直到我滚动到第一个表视图中的最后一列为止。 我尝试为两个表视图重新加载数据/也尝试在performselectorinmainthread/中调用重新加载数据,即使在dispatch\u async中,但在第一个表视图中向下

我有两个表视图同步在一起,并且都绑定到同一个阵列控制器。在第一个表视图中,列是可编辑的,相应的列值应反映在另一个表视图中。在第一个(可编辑)表视图中,可以选择将值从一列复制到其余列。问题是:当我在第一个表视图中编辑一个列值并将值复制到其他列时,这些值不会反映在第二个表视图中,直到我滚动到第一个表视图中的最后一列为止。 我尝试为两个表视图重新加载数据/也尝试在
performselectorinmainthread
/中调用重新加载数据,即使在
dispatch\u async
中,但在第一个表视图中向下滚动之前,这些值仍不会反映在第二个表视图中

dispatch_async(dispatch_get_main_queue(), ^{
        [self.firstTableView reloadData];
        [self.secondTableView reloadData];
        [self.firstTableView setNeedsDisplay];
        [self.secondTableView setNeedsDisplay];
    });



   [self performSelectorOnMainThread:@selector(updateTable) withObject:nil waitUntilDone:NO];

-(void) updateTable
{
       [self.firstTableView reloadData];
       [self.secondTableView reloadData];
       [self.firstTableView setNeedsDisplay];
       [self.secondTableView setNeedsDisplay];
}

如果我的代码中缺少某些内容,请告诉我。

没有足够的信息来回答您的问题。张贴与实际复制信息相关的代码。我怀疑您正在“在阵列控制器背后”修改数据。此外,强制更新表也不会起作用,原因与此相同-您正在短路绑定机制,这会导致表在其基础模型更改可用之前重新显示。