gpt4 book ai didi

cocoa - 使用绑定(bind)对多个 NSArraycontroller 和多个 NSTable 进行排序

转载 作者:行者123 更新时间:2023-12-03 17:11:18 24 4
gpt4 key购买 nike

我有多个 NSTable,多个 NSArray Controller 绑定(bind)到 CoreData。我成功地对一张表进行了排序。当我将相同的设置应用于任何其他 NSTable(列)和 NSArraycontroller 时,它将不起作用。

在列中,我设置了排序键、选择器和顺序。

在 NSArraycontroller 中,我将排序描述符设置如下:

绑定(bind)到:共享用户默认 Controller

Controller 键:值

模型关键路径:sortDescriptors

值转换器:NSUnarchiveFromData

如果我将相同的设置应用于其他 NSArraycontroller 之一,则会收到错误。“实体 ?? 不符合键“??”的键值编码。

有什么想法吗?

编辑:刚刚意识到,在错误中,“...键'xx'的编码兼容”。该键是第一列的排序键,它出现在所有其他 NSArray Controller 的错误消息中。不知道为什么会这样。我已经正确设置了另一个中的排序键,那么为什么它会查看我设置的第一个呢?

最佳答案

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

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

关于cocoa - 使用绑定(bind)对多个 NSArraycontroller 和多个 NSTable 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25774058/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com