这是一个带有 IB 绑定到 NSArrayController 的 NSTableView,它正确显示所有值。
但是,它仅按数字的第一个 char 值对数字进行排序,例如它将 115.31 置于 2.5 以下,将 23.9 置于 4.71 以下等。
它从包含字符串的保留 NSMutableArray 中获取值,我还尝试将所有字符串转换为 NSNumber/NSDecimalNumber,但仍然没有运气:
NSMutableArray *array1 = [[string1 componentsSeparatedByCharactersInSet: [NSCharacterSet newlineCharacterSet]] mutableCopy];
NSMutableArray *array1alt = [NSMutableArray array];
for(NSString *strNum in array1)
{
NSNumber *number = strNum;
[array1alt addObject:number];
}
请帮忙,谢谢。
编辑:这就是我的 NSTableColumn(s) 的 NSMutableArray(s) 的填充方式:
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];