gpt4 book ai didi

objective-c - 排序标题

转载 作者:行者123 更新时间:2023-12-03 17:22:23 24 4
gpt4 key购买 nike

我有一个NSTable填充了数据。我使用以下代码对列进行了排序。问题是,当我想要按数字排序时,它会按字母顺序对“数字”列进行排序。

(1,100,101,2,20,21,3,30,31................)

我输入的数据为数字 (@1, @2, @3)而不是字符串 (@"1", @"2", @"3")

// THIS WILL SORT ALL COLUMNS //

- (void)tableView:(NSTableView *)tableView mouseDownInHeaderOfTableColumn:(NSTableColumn *)tableColumn

{

NSTableColumn *NumberColumn = [tableView tableColumnWithIdentifier:@"No."];
NSSortDescriptor *NumberSortDescriptor = [NSSortDescriptor
sortDescriptorWithKey:@"No."
ascending:YES
selector:@selector(compare:)];
[NumberColumn setSortDescriptorPrototype:NumberSortDescriptor];

NSTableColumn *CardNameColumn = [tableView tableColumnWithIdentifier:@"Card Name"];
NSSortDescriptor *CardNameSortDescriptor = [NSSortDescriptor
sortDescriptorWithKey:@"Card Name"
ascending:YES
selector:@selector(compare:)];
[CardNameColumn setSortDescriptorPrototype:CardNameSortDescriptor];

NSTableColumn *TypeColumn = [tableView tableColumnWithIdentifier:@"Type"];
NSSortDescriptor *TypeSortDescriptor = [NSSortDescriptor
sortDescriptorWithKey:@"Type"
ascending:YES
selector:@selector(compare:)];
[TypeColumn setSortDescriptorPrototype:TypeSortDescriptor];

NSTableColumn *RarityColumn = [tableView tableColumnWithIdentifier:@"Rarity"];
NSSortDescriptor *RaritySortDescriptor = [NSSortDescriptor
sortDescriptorWithKey:@"Rarity"
ascending:YES
selector:@selector(compare:)];
[RarityColumn setSortDescriptorPrototype:RaritySortDescriptor];

NSTableColumn *UnlimitedColumn = [tableView tableColumnWithIdentifier:@"Unlimited"];
NSSortDescriptor *UnlimitedSortDescriptor = [NSSortDescriptor
sortDescriptorWithKey:@"Unlimited"
ascending:YES
selector:@selector(compare:)];
[UnlimitedColumn setSortDescriptorPrototype:UnlimitedSortDescriptor];

NSTableColumn *FirstEditionColumn = [tableView tableColumnWithIdentifier:@"1st Edition"];
NSSortDescriptor *FirstEditionSortDescriptor = [NSSortDescriptor
sortDescriptorWithKey:@"1st Edition"
ascending:YES
selector:@selector(compare:)];
[FirstEditionColumn setSortDescriptorPrototype:FirstEditionSortDescriptor];

}

- (void)tableView:(NSTableView *)tableView sortDescriptorsDidChange:(NSArray
*)oldDescriptors
{
[BaseSet sortUsingDescriptors: [tableView sortDescriptors]];
[tableView reloadData];

}

最佳答案

我发现我的所有代码在这里都是正确的。问题是我的应用程序在终止时保存我的数组,并且在我将字符串转换为数字之前它已经保存了它。

关于objective-c - 排序标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19625366/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com