2009-12-18 18 views
24

Quiero seleccionar una fila en mi vista de tabla mediante programación, creo que usaría selectRowIndexes:byExtendingSelection: (¿es este un método delegado?). La otra cosa es ¿cómo usaría ese método para seleccionar la segunda fila (en términos de programación, fila 1)?Seleccionar una fila en un NSTableView Programmatically

Respuesta

76

Joshua, asegúrese de utilizar la documentación de los desarrolladores para determinar si es o no un método delegado. Si fuera un método delegado, se mencionaría en los documentos para NSTableViewDelegate.

Lo que estás buscando es muy directo.

Objective-C

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

Swift 2

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

vez más. Asegúrese de buscar el método selectRowIndexes: byExtendingSelection en los documentos para ver qué parámetros necesita. Dice que se necesita un NSIndexSet. Luego busque NSIndexSet y descubrirá cómo usar eso.

+0

Ok, ya veo. Gracias por su amable ayuda. – Joshua

+0

Esto no parece funcionar. Estoy usando esto con una Vista de esquema, pero aún debería funcionar, ¿no? ¿Porque NSOutlineView es una Subclase de NSTableView? – Joshua

+2

Esto debería funcionar. Asegúrese de que sus enchufes estén conectados y asegúrese de llamar a este método después de que la vista se haya inicializado. Por lo tanto, no llame a esto en un método "init", use - (void) awakeFromNib. –

Cuestiones relacionadas