Cada columna de la tabla tiene un método setSortDescriptorPrototype
Ordenar descriptores son formas de contar la matriz cómo ordenar en sí (ascendente, descendente, haciendo caso omiso de caso, etc.) iterar sobre cada una de las columnas que desea que se puede ordenar y llamar a este método en cada una de esas columnas, y pasar el descriptor de tipo requerida (En mi caso voy a estar utilizando el identificador de la columna)
for (NSTableColumn *tableColumn in tableView.tableColumns) {
NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:tableColumn.identifier ascending:YES selector:@selector(compare:)];
[tableColumn setSortDescriptorPrototype:sortDescriptor];
}
Después de escribir este pedazo de código de inicialización, NSTableViewDelegate
tiene un método - (void)tableView:(NSTableView *)aTableView sortDescriptorsDidChange:(NSArray *)oldDescriptors
que le avisa cada vez que una especie el descriptor ha cambiado, implemente este método en el delegado y envíe un mensaje al ay a ponerse en orden
- (void)tableView:(NSTableView *)aTableView sortDescriptorsDidChange:(NSArray *)oldDescriptors
{
self.data = [self.data sortedArrayUsingDescriptors:sortDescriptors];
[aTableView reloadData];
}
Este método será despedida cada vez que se hace clic en un encabezado de columna y NSTableColumn
muestra un pequeño triángulo bonita que muestra el orden de clasificación.
que tienen dos columnas en la tabla, como nombre y el salario, puse los valores hardcoded sin enlace, ahora quiero ordenar los datos, cómo realizo esta tarea. – upender