Il s'agit d'une liaison NSTableView avec IB à un NSArrayController, elle affiche toutes les valeurs correctement.
Cependant, il ne trie les nombres que par leur première valeur de caractère, par ex. il mettra 115,31 en dessous de 2,5 et 23,9 ci-dessous 4,71, etc.NSTableColumn trie des nombres incorrectement
Il prend des valeurs d'une retenue NSMutableArray avec des chaînes en elle, j'ai essayé aussi en convertissant toutes les chaînes à NSNumber/NSDecimalNumber, toujours pas de chance:
NSMutableArray *array1 = [[string1 componentsSeparatedByCharactersInSet: [NSCharacterSet newlineCharacterSet]] mutableCopy];
NSMutableArray *array1alt = [NSMutableArray array];
for(NSString *strNum in array1)
{
NSNumber *number = strNum;
[array1alt addObject:number];
}
S'il vous plaît, aidez, merci.
EDIT: Voici comment NSMutableArray (s) de mon NSTableColumn (s) se remplissent:
NSMutableArray *rows = [NSMutableArray array];
for (NSUInteger i = 0; i < array1alt.count && i < array2.count && i < array3.count && i < array4.count; i++)
{
NSMutableDictionary *row = [NSMutableDictionary dictionary];
[row setObject:[array1alt objectAtIndex:i] forKey:@"Apples"];
[row setObject:[array2 objectAtIndex:i] forKey:@"Oranges"];
[row setObject:[array3 objectAtIndex:i] forKey:@"Peaches"];
[row setObject:[array4 objectAtIndex:i] forKey:@"Plums"];
[rows addObject:row];
}
[myArrayController2 setContent:rows2];
[aTableView reloadData];
Quelle est votre source de données ici? Un NSArrayController rempli de nombres de chaînes ou NSMutableArray rempli de nombres? D'une manière ou d'une autre, dans la boucle for, vous ne pouvez pas affecter NSString à NSNumber sans qu'une conversion ait lieu. –