NSTableView没有刷新

时间:2010-06-15 12:39:09

标签: cocoa nstableview ghosts-in-the-machine

我有一个表视图,它以两种不同的方式刷新。两者都是通过一个按钮,事实上,两者都是在同一个类中通过相同的IBAction!

这是我的问题:

按钮位于两个不同的.xib文件中,与表视图相同的xib中的按钮工作正常,而不同xib中的按钮执行获取新数据的方法,但它不刷新表。同样精确的方法,不同的结果。要获取另一个按钮的IBAction,我只需在IB中拖出一个NSObject,并将其类设置为我的表视图的类,其中包含IBAction,然后将其连接到我的按钮。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

听起来你正在第二个XIB中创建你的类的第二个并行对象。该按钮向该实例发送一条消息,该消息执行您期望的某些内容,因为它是正确类的对象,但它实际上不是正确的对象,并且未连接到您的视图。

您需要做的是确保两个按钮都与同一个实例通信。如果目标位于响应者链中,这是最简单的 - 您应该能够将按钮的目标设置为 First Responder ,并且消息将找到正确的位置。否则,您需要将目标指针指向XIB,例如,作为文件所有者的对象中的IBOutlet。