/ / Kakao, väzba pomocou zberných operátorov a vlastností vzťahu To-Many - kakao, údaje jadra, tvorca rozhraní, väzby kakaa

Kakao, väzba pomocou operátorov zberu a vlastností vzťahu tok - kakao, základné údaje, tvorca rozhrania, viazanie kakaa

Po vykonaní slušného množstva google a pozeraní sa sem verím, že sa toto „nedá urobiť“. Som zaujímavý v tom, prečo sa to nedá „urobiť“ a najlepším riešením ľudí je, ponúkam baňu nižšie.

Používam jednoduchý model oddelenia <---->> zamestnanca, pričom atribúty name majú aj zamestnanecká entita a tiež atribúty timeWorked.

Problém

Chcel by som zviazať tabuľku s jedným stĺpcom zobrazujúcim departement.name a druhým stĺpcom zobrazujúcim oddelenie. @ Sum.employees.timeWorked. Pokus o vykonanie tohto postupu vedie k chybe:

[<_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.

Väzba na adresu department.employees. @ Count však funguje (ale chcem viac!).

Iné diskusie

Tu je ďalšia téma s rovnakým problémom: nstablecolumn-väzobné pomocou zberného operátormi podobný súčtu

A ďalší: kakaové-väzby viažuci-k-mnohých konci-z-n na-vzťah

Moje riešenie

Moje riešenie tohto problému je vytvoriť atribút pre entitu oddelenia, ktorá vykonáva súčet:

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

a potom sa k tomu jednoducho naviazať.

Je to len trochu viac kódu po pridaní týchtoatribúty, keď chcem urobiť nejaké porovnanie / agregáciu údajov, ale mám pocit, že by bolo elegantnejšie vedieť sa na ne naviazať oddelenie. @ sum.employees.timeWorked.

Nejaké nápady?? Dôvody, prečo to nefunguje? Lepšie riešenia?

Na zdravie všetkým

odpovede:

0 pre odpoveď č. 1

Píšeš o viazanosti na department.@sum.employees.timeWorked - myslím si však, že by si mal byť záväzný department.employees.@sum.timeWorked