Copia da un NSTableView ad un altro (con Core Data Associazioni)
-
19-09-2019 - |
Domanda
Ho un NSTableView binded ai dati fondamentali. Ho un altro NSTableView, al momento non binded a nulla (ma che può cambiare in caso di necessità).
Quando un preme un pulsante voglio la riga selezionata nella prima tabella da copiare (ma non rimosso) alla seconda tabella.
per es.
Prima:
Per prima tabella
Column1 | Column2 | Column3
Person | Place | Time
Secondo tabella
Column1 | Column2 | Column3
| |
Dopo:
Column1 | Column2 | Column3
Person | Place | Time
Secondo tabella
Column1 | Column2 | Column3
Person | Place | Time
Come potrei fare per fare questo?
Grazie!
Soluzione
Questo non è davvero un problema con NSTableView
, questo è più una questione di progettazione del programma. Che vengono visualizzati i tuoi NSTableView
s? Dati. Al fine di tenere l'oggetto selezionato in una vista tabella e farla apparire in un altro, è necessario capire che cosa è selezionato oggetto di dati, e aggiungerlo al set di dati per l'altra vista della tabella in modo che appaia anche lì.
Sembra che si sta utilizzando binding. Se è così, allora si dovrebbe vincolare il secondo punto di vista tabella per un controller di array che traccia gli oggetti che devono essere visualizzati lì. Se avete bisogno di legare che controller di array a una serie di contenuti dipende dalla vostra applicazione.
Quindi, per ottenere l'elemento selezionato, controlla il metodo selectedObjects
su NSArrayController
. Questo dà una matrice di oggetti attualmente selezionati. Avrete quindi bisogno di aggiungere gli oggetti selezionati per il controller di array per la seconda vista tabella. Una volta fatto questo, le associazioni lavoreranno loro magia e aggiornare la visualizzazione della tabella automaticamente.