Así que encontré la solución completa.
Primero, vaya a Interface Builder. Seleccione la columna que desea ordenar. Vaya al inspector de la columna y elija el primer botón para ver los "Atributos de la columna de la tabla". Establecer los valores apropiados (literalmente, no "o" o @ son necesarios):
Sort key: file
donde 'archivo' es la clave de diccionario que los contenidos se muestran en la columna
Selector: compare:
función de clasificación estándar .
Ahora, guardar todos los cambios aquí y saltar a Xcode, a la clase en la que está el modelo, la fuente de los datos mostrados en la NSTableView ya debería saber que usted necesita dos métodos: allí.
-(NSInteger)numberOfRowsInTableView:(NSTableView *)tableView
-(id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn
*)tableColumn row:(NSInteger)row
estos dos son necesarios para conformar el protocolo informal NSTableDataSource. Puede leer sobre esto en el MacDev Center.
Ahora todo lo que tiene que hacer es añadir un nuevo método:
-(void)tableView:(NSTableView *)tableView sortDescriptorsDidChange: (NSArray *)oldDescriptors
Puede contener un código muy simple que va a hacer la cosa:
-(void)tableView:(NSTableView *)tableView sortDescriptorsDidChange: (NSArray *)oldDescriptors
{
NSArray *newDescriptors = [tableView sortDescriptors];
[results sortUsingDescriptors:newDescriptors];
//"results" is my NSMutableArray which is set to be the data source for the NSTableView object.
[tableView reloadData];
}
Y eso es todo. Está funcionando en mi aplicación, espero que funcione en tu caso: D Todo debería funcionar automáticamente. Acabo de guardar todos los archivos y construí la aplicación. Y funcionó.:)
sitio que me ayudó: CocoaDev: SortingNSTableView
¡Me salvaste el día! – 11684
¡De nada! –
Awsumly me salvó de enloquecer ... :) –