0

有没有办法为组的第一列使用不同的列?默认情况下,它使用与“组标题”相同的名称(带有“展开”三角形的那个)。例如,我想将“Group”行绑定到departmentTitle,并且组中项目的第一列应该有employeeTitle。

像这样:

-> departmentTitle
-->employeeTitle
-->employeeTitle
-->employeeTitle
-->employeeTitle

默认情况下,它们使用相同的列,如下所示:

-> departmentTitle
-->departmentTitle
-->departmentTitle
-->departmentTitle
-->departmentTitle

我怎样才能改变他们使用同一列?我可以将其设置为“标题”并创建一个return self.employeeTitle方法,但随后我必须使该 KVO 兼容并用变通方法弄乱我的模型。我错过了什么吗?谢谢

4

1 回答 1

0

我可能会迟到回答这个问题,但这就是我所做的(这不是最优雅的方式,我敢肯定)

您可以拥有一个名为“title”的属性并将列绑定到它。此外,定义一个属性“departmentTitle”和“employeeTitle”,您将根据对象是组对象还是子对象来初始化它们。然后根据您的需要定义“title”属性的 getter 以返回“departmentTitle”或“employeeTitle”。它看起来像这样:

- (NSString) title {
if (isLeaf) {
return self.employeeTitle;
}
else {
return self.departmentTitle;
}
}

正如我所说,这不是一个优雅的解决方案,但它对我来说就像一个魅力。

于 2013-03-27T15:44:37.637 回答