当前位置:  开发笔记 > IOS > 正文

如何为NSTableView设置默认排序顺序?

如何解决《如何为NSTableView设置默认排序顺序?》经验,为你挑选了2个好方法。

我有一个cocoa应用程序,它有一个通过NSArrayController绑定到模型的TableView.

该应用程序按我的意愿工作,但表的默认排序顺序是错误的.

buildwatch http://public.west.spy.net/BuildWatch.png

我通常启动程序并单击最后一个标题两次以使其以正确的方式排序.是否有一种方法可以在nib/bindings /中指定默认的排序顺序,或者以编程方式告诉它如果我在那里点击两次会发生什么?或者甚至只记得以前的排序顺序?



1> Nathan Kinsi..:

看看NSSortDescriptor.

您可以使用-setSortDescriptors:在NSTableView上进行设置.或者,您可以将排序描述符放在ivar中,并使用IB中的排序描述符绑定将它们绑定.



2> sbooth..:

我通常在-windowDidLoad中做这种事情.假设您的NSWindowController子类将IBOutlet _arrayController设置为相关的NSArrayController,并且您的模型拥有属性buildETA:

NSSortDescriptor *buildETASortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"buildETA" ascending:NO];
[_arrayController setSortDescriptors:[NSArray arrayWithObject:buildETASortDescriptor]];
[buildETASortDescriptor release];

编辑:将-awakeFromNib更改为-windowDidLoad,因为这是一个假设的NSWindowController子类

推荐阅读
落单鸟人
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有