Put this somewhere (maybe in yourmouseDownInHeaderOfTableColumn
ordidClickTableColumn
:NSImage *indicatorImage; if (sortAscending) { sort your data ascending indicatorImage = [NSImage imageNamed: @"NSAscendingSortIndicator"]; } else { sort your data descending indicatorImage = [NSImage imageNamed: @"NSDescendingSortIndicator"]; } sortAscending = !sortAscending; [tableView setIndicatorImage: indicatorImage inTableColumn: tableColumn]; [tableView reloadData];