我有一个使用可可绑定的NSTableview。我需要在表中禁用排序,为此我在stackoverflow上找到了以下文本:
如果使用Cocoa绑定来管理数据,则排序描述符由表列生成并设置为NSArrayController。要停止它,只需打开表列绑定的检查器,选择值,然后取消选中“创建排序描述符”。
这很好用,但是在运行时添加了一些列,我需要在运行时以编程方式执行相同的操作。有人可以指点我正确的方向吗?一个示例或教程或其他任何可以帮助我在运行时执行此操作。基本上我需要做的就是禁用在运行时创建的列的排序。
答案 0 :(得分:1)
如果您是以编程方式在arraycontroller上设置绑定,那么您应该能够传递额外的绑定选项。
NSMutableDictionary *bindingOptions = [NSMutableDictionary dictionary];
[bindingOptions setObject:[NSNumber numberWithBool:NO]
forKey:NSCreatesSortDescriptorBindingOption];
[column bind:@"value" toObject:self.arrayController withKeyPath:[NSString stringWithFormat:@"arrangedObjects.%@",c.key] options:bindingOptions];