2009-12-18 10 views
24

Desidero selezionare una riga nella mia visualizzazione tabella a livello di codice, credo che utilizzerei selectRowIndexes:byExtendingSelection: (si tratta di un metodo delegato?). L'altra cosa è come utilizzerei quel metodo per selezionare la seconda riga (nei termini di programmazione riga 1)?Selezione di una riga in una NSTableView a livello di programmazione

risposta

76

Joshua, assicurarsi di utilizzare la documentazione degli sviluppatori per determinare se si tratta di un metodo delegato. Se fosse un metodo delegato, sarebbe menzionato nei documenti per NSTableViewDelegate.

Quello che stai cercando è molto semplice.

Objective-C

NSIndexSet *indexSet = [NSIndexSet indexSetWithIndex:1]; 
[tableview selectRowIndexes:indexSet byExtendingSelection:NO]; 

Swift 2

let indexSet = NSIndexSet(index: 1) 
tableView.selectRowIndexes(indexSet, byExtendingSelection: false) 

nuovo. Assicurati di cercare il metodo selectRowIndexes: byExtendingSelection nei documenti per vedere quali parametri ha bisogno. Dice che è necessario un NSIndexSet. Quindi cerca NSIndexSet e scoprirai come utilizzarlo.

+0

Ok, capisco. Grazie per il tuo gentile aiuto. – Joshua

+0

Questo non sembra funzionare. Sto usando questo con una vista struttura ma dovrebbe ancora funzionare, giusto? Perché NSOutlineView è una sottoclasse di NSTableView? – Joshua

+2

Questo dovrebbe ancora funzionare. Assicurati che le tue prese siano collegate e assicurati di chiamare questo metodo dopo che la vista è stata inizializzata. Quindi, non chiamarlo in un metodo "init", usa - (void) awakeFromNib. –

Problemi correlati