Próbuję utworzyć prosty interfejs dla mojego podstawowego modelu danych w stylu przeglądarki iTunes Genre.Implementowanie nadrzędnego-> podrzędnego drążenia w kakao z powiązaniami w rdzeniu danych, które obejmuje wiele jednostek.
Mam konfigurację modelu z trzema elementami: Genre <-->> Artist <-->> Album
.
Chciałbym po prostu powiązać je z NSTableView, ale wygląda na to, że dostęp do relacji dzieci z kontrolera NSArrayController nie jest zgodny z KVC. Tak, mam trudności z przekazaniem wybranych obiektów Genre do ArtistController.
Jak to zrobić? Czy jest to możliwe w obrębie IB bez jakiejkolwiek niestandardowej podklasy?
Edytuj dla potomności: Robiłem kilka rzeczy źle.
- Kontrolka podrzędna musi wiedzieć o managedObjectContext poprzez własne powiązanie.
- Kontroler potomny musi nie być w trybie
Entity
, ale raczej działać jako klasaNSMutableDictionary
. - I wreszcie kontroler podrzędny nie przygotowuje swoich danych. Wyszukuje go od rodzica poprzez powiązanie
Content Set
. Użyj klucza kontroleraselection
i ścieżki klucza modelu, która łączy się z dziećmi.
Uff. Zarówno odpowiedź Briana, jak i this MacResearch tutorial były pomocne w określeniu moich błędów (i które części miałem prawo).
Tak, to jest dokładnie to, co próbowałem. Otrzymuję błąd środowiska wykonawczego: '[ valueForUndefinedKey:]: encja MBGenre nie jest zgodna z kodowaniem kluczem wartości klucza dla" artystów "." Próbowałem około sześciu lub siedmiu różnych sposobów uzyskiwania dostępu do relacji podrzędnej, z których żadna nie działa. Dzięki za wejście; to sprawia, że czuję się o wiele mniej szalony. –