gpt4 book ai didi

iphone - 使用键存储数组并按输入顺序对它们进行排序的最佳方法

转载 作者:行者123 更新时间:2023-11-28 19:21:36 24 4
gpt4 key购买 nike

NSDictionary 和排序有一点问题。我在这里阅读了一些关于使用某些方法(如 sortedArrayUsingSelectorkeysSortedByValueUsingComparator)的文章,但我不能完全理解它。目前我有一个 TableView Controller 正确显示一些数据。我遇到的唯一问题是它显示的顺序(或者更确切地说,部分的顺序)。

在声明文件中:

@interface SettingsTableViewController : UITableViewController {
NSDictionary *tableContents;
NSArray *keys;
}
@property (nonatomic,retain) NSDictionary *data;
@property (nonatomic,retain) NSArray *keys;
@end

viewDidLoad 的实现文件:

NSArray *arrayTemporary1 = [[NSArray alloc]initWithObjects:@"Settings 1",@"Setting 2",@"Setting 3",@"Setting 4",nil];
NSArray *arrayTemporary2 = [[NSArray alloc]initWithObjects:@"Enable Gestures",nil];
NSArray *arrayTemporary3 = [[NSArray alloc]initWithObjects:@"Instructions",@"Frequently Asked Questions",@"About",nil];

NSDictionary *temporary =[[NSDictionary alloc]initWithObjectsAndKeys:arrayTemporary1,@"Settings",arrayTemporary2,@"Application",arrayTemporary3,@"Information",nil];
self.tableContents = temporary;

self.keys = [self.tableContents allKeys];

[temporary release];
[arrayTemporary1 release];
[arrayTemporary2 release];
[arrayTemporary3 release];

cellForRowAtIndexPath 中的数组 NSArray *listData =[self.tableContents objectForKey:[self.keys objectAtIndex:[indexPath section]]]; 访问单个单元格数据> 方法。

虽然这工作正常,但我遇到的问题是,它不是按照在 temporary 中编写的顺序显示部分,而是随机显示。希望得到一些指导。

最佳答案

字典不保证顺序,因此 tableContents 不记得您向其中添加数组的顺序。您应该在 NSArrays 中保存有序数据。

将章节的标题放在一个单独的 NSArray 中。然后在需要时使用字典查找单元格的数据。这让您可以按照您想要的顺序保留标题,并且仍然有办法在字典中查找值。

关于iphone - 使用键存储数组并按输入顺序对它们进行排序的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8481754/

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