代码之家  ›  专栏  ›  技术社区  ›  Faisal Ikwal

“tableView:viewForTableColumn:row:”正在获取基于单元格的tableView的调用,而不是“tableView:objectValueForTableColumn:row:”

  •  1
  • Faisal Ikwal  · 技术社区  · 10 年前

    我在AppDelegate类中同时使用基于单元格和基于视图的NSTableView。两种方法 "tableView: objectValueForTableColumn: row:" and "tableView: viewForTableColumn: row:" 这个班上有。对于两张桌子 "tableView: viewForTableColumn: row:" 正在接到电话。如果我在评论 “tableView:viewForTableColumn:行:” 那么方法 "tableView: objectValueForTableColumn: row:" 正在获取基于单元格的表的调用。问题可能是什么?如何解决这个问题?

    1 回复  |  直到 10 年前
        1
  •  2
  •   Ken Thomases    10 年前

    您要么需要将基于单元格的表视图切换为基于视图,要么需要使用单独的代理。

    委托实现的一组方法部分决定了表视图实际上是基于视图还是基于单元。因此,不能同时使用同一个委托。

    例如,请注意,无法设置以编程方式创建的表视图是基于视图还是基于单元格。这完全由代表决定。嗯,似乎即使是在IB中创建的表视图(可以设置),委托仍然部分地决定了表视图的类型。

    另一方面,即使是基于视图的表视图也调用 -tableView:objectValueForTableColumn:row: ,所以我不知道为什么在你的案子中不叫它。也许当委托不提供任何单元格视图时,表视图就不麻烦了。