След като направих доста количество google и погледнах тук, вярвам, че следното не може да бъде направено.
Използвам простия модел на отдел <---->> служител, като и двете имат атрибут на име, а служителското образувание също има атрибут timeWorked.
Проблемът
Бих искал да обвържа таблица с колона първа, показваща departement.name и колона две, показваща отдел. @ 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.
Обаче свързване към Department.employees. @ Count наистина работи (но искам още!).
Други дискусии
Ето още една тема тук със същия проблем: nstablecolumn-свързващ-използване за събиране на операторите, като сума
И друг: какаово автомати-свързващи до най-много края-на-към-много-взаимоотношенията
Моето решение
Моето решение на този проблем е да създам атрибут за отдела на отдела, който изпълнява сумата:
-(NSNumber *)departmentHours {
return [self valueForKeyPath:@"employees.@sum.timeWorked"]; }
и след това просто да се обвърже с него.
Това е само малко повече код при добавяне на тезиатрибути, когато искам да направя някакво съпоставяне / обобщаване на данни, но усещам, че би било по-елегантно да мога да се свързвам с отдел. @ sum.employees.timeWorked.
Някакви идеи?? Причини защо това не работи? По-добри решения?
Наздраве всички
Отговори:
0 за отговор № 1Пишете за обвързване с department.@sum.employees.timeWorked
- обаче мисля, че трябва да се обвързвате department.employees.@sum.timeWorked