使用绑定对多个NSArraycontroller和多个NSTable进行排序

时间:2014-09-10 19:59:28

标签: cocoa sorting core-data

我有多个NSTable,多个NSArray控制器绑定到CoreData。我成功地有一个表排序。当我将相同的设置应用于任何其他NSTable(列)和NSArraycontroller时,它将无法工作。

在列中,我有排序键,选择器和顺序集。

在NSArraycontroller中,我将Sort Descriptors设置如下:

绑定到:共享用户默认控制器

控制器密钥:值

模型关键路径:sortDescriptors

价值转换器:NSUnarchiveFromData

如果我将相同的设置应用于其他NSArray控制器之一,则会出现错误。 “实体??不是密钥值编码兼容的密钥”??“。

有什么想法吗?

编辑:在错误中,我意识到“......符合密码的'xx'编码。”此键是第一列的排序键,它出现在所有其他NSArray控制器的错误消息中。不知道为什么会这样。我已正确设置排序键,所以为什么要查看我设置的第一个?

1 个答案:

答案 0 :(得分:0)

不确定为什么绑定不起作用,但为了解决我的排序问题,我为NSSortDescriptor方法中的每个NSArrayControllers创建了一个awakeFromNib,一切都在排序。

-(void)awakeFromNib{
NSSortDescriptor *nameSort = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES];
[nameArrayController setSortDescriptors:[NSArray arrayWithObject:nameSort]];

}