Fare visualizzazione di una tabella dipende dalla selezione in un altro tavolo in Interface Builder
-
20-09-2019 - |
Domanda
Ho una finestra di configurazione con due NSTableViews. In Core Data Ho due entità set up, uno dei quali contenenti i membri dell'altra, raggruppamento più ampio (ad esempio cars
e manufacturers
). Ho pagine di entrata impostati per ciascuna entità e giocare bene lì (non ha provocato l'errore quando si cerca di scegliere tra una relazione molti-a-uno in un menu). Quello che sto cercando di fare adesso è prendere che un ulteriore passo avanti in modo che quando si seleziona un manufacturer
nel NSTableView
principale, apparirà la lista dei cars
relativo a tale manufacuturer
nel secondo NSTableView
.
Ho provato con attacchi simili a quello che ho fatto per il pulsante manufacturer
popup, alimentando il valore dall'entità cars
, ma è semplicemente che mostra un elenco di tutte le voci car
, a prescindere da quale manufacturer
scelgo. Non vedo alcuna opzione per un predicato per filtrare, tuttavia, e se ho impostato il percorso della chiave legame manufacturer.cars
, mostra un guasto relazione. Come faccio a filtrare ciò che viene visualizzato nella tabella figlio?
Soluzione
Sono due NSArrayControllers. Associare il contentArray
del controller vetture al controllore produttori; la chiave di controllo è selection
(vale a dire, il produttore selezionato), e il percorso della chiave del modello è quello della proprietà che contiene le auto del produttore.
Quindi, associare le colonne della vista tabella di auto per le proprietà di arrangedObjects
del controllore auto.