【发布时间】:2014-03-21 03:12:03
【问题描述】:
我设置了两个 NSTableView,由一个 nstableviewdatasource 和委托填充。两个表视图在第一次加载时都会收到数据,但它们拒绝重新加载数据。 tableview 数据源和委托都连接到我在 xib 中的 tableviewcontroller 类对象。
我已经确认我的方法(将新数据设置到我用来填充表格视图的数组)实际上接收到更改的数据。此方法是我填充数据源委托方法使用的数组的唯一方法。它正在从主线程重新加载:
myArray = [classThatHoldsNewVariables.array mutableCopy];
[self.myTableView reloadData];
-numberOfRowsInTableView 不会被 reloadData 调用。它仅在应用启动时被调用。
我尝试在代码中手动设置数据源和委托方法,但没有成功。我尝试了很多不同的方法让 reloadData 工作,但没有任何反应。
帮助:(
编辑:
我解决了这个问题。这是一个实例问题,我从另一个类分配初始化我的 nstableviewdatasource 以重新加载数据。 Init 不加载 nib 使用的实例,因此它正在重新加载我的 tableview 的另一个实例,该实例不向用户显示。我通过在我的 tableviewcontroller 类中实现 nsnotifications 解决了这个问题。
【问题讨论】:
标签: macos cocoa nstableview reloaddata