Macos NSTableBackgroundView

Macos NSTableBackgroundView,macos,exception,scroll,nstableview,Macos,Exception,Scroll,Nstableview,我有一个ViewController,它的内容中有一个TableView。 在ViewController中,我通过以下方式访问实际表格: NSView * myView = self.view.subviews[0]; myView = myView.subviews[0]; NSTableView *myTable = myView.subviews[0]; [self.targets sortUsingDescriptors: [myTable sortDescriptors]]; [my

我有一个
ViewController
,它的内容中有一个
TableView
。 在ViewController中,我通过以下方式访问实际表格:

NSView * myView = self.view.subviews[0];
myView = myView.subviews[0];
NSTableView *myTable = myView.subviews[0];
[self.targets sortUsingDescriptors: [myTable sortDescriptors]];
[myTable reloadData];
这实际上很笨拙,但似乎有效。除了当我在表格内按下鼠标时,垂直滚动条处于活动状态。然后,我提出了一个异常,因为在访问
子视图
以访问
myTable
的最后一行中,
子视图
数组在我创建并希望访问的实际
TableView
之前有几个
nstablebackgroundview

NSTableBackgroundView
显然没有文档记录,也没有
sortDescriptors
方法(因此例外)

也许有人可以指出一种更好的方法来获取更可靠的表,或者有人可以说枚举最终的
子视图
数组以找到所需的
类NSTableView
是否安全


非常感谢

我实现了planB,取而代之的是其他任何答案,我获取子视图数组并对其进行枚举,以找到实际的NSTableView。当我敲打UI来测试它,并且不再升起任何标志时,这似乎起作用了


我希望有一种更简洁的方法可以在不遍历所有子视图的情况下获得我想要的视图。

我实现了planB,取而代之的是子视图数组,并对它们进行枚举以找到实际的NSTableView。当我敲打UI来测试它,并且不再升起任何标志时,这似乎起作用了

我希望有一种更干净的方法,可以在不遍历所有子视图的情况下获得我想要的视图