I'm trying to sort my tableColumn, but the sortDescriptorsDidChange is not getting called
Three other delegate functions are getting called.
All above three get called but the one below does not. I have no idea why.
I've set up a breakpoint and it's not even stopping inside the function.
Further here is my exact code.
Three other delegate functions are getting called.
Code:
- (void)tableView:(NSTableView *)aTableView
setObjectValue:(id)anObject
forTableColumn:(NSTableColumn *)aTableColumn
row:(int)rowIndex
- (id)tableView:(NSTableView * )aTableView
objectValueForTableColumn:(NSTableColumn *)aTableColumn
row:(int)rowIndex
- (int)numberOfRowsInTableView:(NSTableView *)aTableView
All above three get called but the one below does not. I have no idea why.
Code:
- (void)tableView:(NSTableView *)tableView sortDescriptorsDidChange:(NSArray *)oldDescriptors
I've set up a breakpoint and it's not even stopping inside the function.
Further here is my exact code.
Code:
- (int)numberOfRowsInTableView:(NSTableView *)aTableView
{
return [employees count];
}
- (id)tableView:(NSTableView * )aTableView
objectValueForTableColumn:(NSTableColumn *)aTableColumn
row:(int)rowIndex
{
//What is the identifier for the column?
NSString *identifier = [aTableColumn identifier];
//What person?
Person *person = [employees objectAtIndex:rowIndex];
//What is the value of the attribute named identifier
return [person valueForKey:identifier];
}
- (void)tableView:(NSTableView *)aTableView
setObjectValue:(id)anObject
forTableColumn:(NSTableColumn *)aTableColumn
row:(int)rowIndex
{
NSString *identifier = [aTableColumn identifier];
Person *person = [employees objectAtIndex:rowIndex];
//Set the value for the attribute named identifier
[person setValue:anObject forKey:identifier];
}
- (void)tableView:(NSTableView *)atableView
sortDescriptorsDidChange:(NSArray *)oldDescriptors
{
NSArray *newDescriptors = [atableView sortDescriptors];
[employees sortUsingDescriptors:newDescriptors];
[tableview reloadData];
}