gpt4 book ai didi

Cocoa,使用集合运算符和多对多关系属性进行绑定(bind)

转载 作者:行者123 更新时间:2023-12-03 16:15:52 25 4
gpt4 key购买 nike

经过大量谷歌搜索并查看此处后,我相信以下操作无法完成。我感兴趣的是为什么它不能完成以及人们最好的解决方法,我在下面提供了我的。

我使用简单的部门 <---->> 员工模型,具有 name 属性,员工实体也具有 timeWorked 属性。

问题

我想绑定(bind)一个表,其中第一列显示departement.name,第二列显示department.@sum.employees.timeWorked。尝试执行此操作会导致错误:

[<_NSFaultingMutableSet 0x1d5e50> addObserver:forKeyPath:options:context:] is not supported. Key path: timeWorked
Cannot remove an observer <NSTableBinder 0x1a9280> for the key path "employees.timeWorked" from <Depatement 0x1faf40> because it is not registered as an observer.

然而,绑定(bind)到department.employees.@count确实有效(但我想要更多!)。

其他讨论

这里的另一个主题也有同样的问题:nstablecolumn-binding-using-collection-operators-like-sum

另一个:cocoa-bindings-binding-to-the-many-end-of-a-to-many-relationship

我的解决方法

我对这个问题的解决方案是为执行求和的部门实体创建一个属性:

-(NSNumber *)departmentHours {  
return [self valueForKeyPath:@"employees.@sum.timeWorked"]; }

然后简单地绑定(bind)到它。

当我想要对数据进行某种排序/聚合时,只需添加一些代码即可添加这些属性,但我确实觉得能够绑定(bind)到会更优雅 部门。@sum.employees.timeWorked。

有什么想法吗?不起作用的原因是什么?更好的解决方法?

大家干杯

最佳答案

您写了关于绑定(bind)到 department.@sum.employees.timeWorked - 但是,我认为您应该绑定(bind)到 department.employees.@sum.timeWorked

关于Cocoa,使用集合运算符和多对多关系属性进行绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9501322/

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