根据未显示的值对绑定到NSArrayController的NSTableView进行排序

时间:2014-05-25 18:44:43

标签: objective-c sorting binding nstableview

我有一个带有Objects(Mutable dictionaries)的NSArrayController,每个条目包含2个值。值为"关键字"和"命令"。

NSArrayController绑定到只有一列的NSTableView,并显示"关键字"值。

我需要根据" order"。

对表格进行排序
NSSortDescriptor *sort = [NSSortDescriptor sortDescriptorWithKey:@"order" ascending:YES];
[keywordscontroller.arrangedObjects sortedArrayUsingDescriptors:[NSArray arrayWithObject:sort]];

NSTableView中的顺序未更新。我错过了什么?

---编辑---

如何分类的样本:

enter image description here

1 个答案:

答案 0 :(得分:1)

您没有将通话结果存储到- (NSArray *)sortedArrayUsingDescriptors:(NSArray *)sortDescriptors,因此您永远无法访问它。

但是,由于您已使用NSArrayController,为什么不使用- (void)setSortDescriptors:(NSArray *)sortDescriptors的{​​{1}}方法,然后使用NSArrayController引用数组的内容?


带有数字比较的字符串的自定义排序描述符

- (id)arrangedObjects