gpt4 book ai didi

ios - 使用自定义顺序对 NSArray 进行排序

转载 作者:行者123 更新时间:2023-11-28 22:20:46 28 4
gpt4 key购买 nike

我有一个 NSMutableDictionary 对象,其中包含一个 iPhone 应用程序的菜单项列表。菜单项的所需顺序不是按字母顺序排列的,因此对键进行排序的标准方式并不是真正的选择。我的字典如下,并按所需顺序初始化(我知道字典没有排序——我需要按此顺序对键数组进行排序):

    menuDict = [[NSMutableDictionary alloc] init];
[menuDict setObject:@"Main Menu" forKey:@"EntryViewController"];
[menuDict setObject:@"States Lookup" forKey:@"AllStatesViewController"];
[menuDict setObject:@"Favorites" forKey:@"FavoritesViewController"];
[menuDict setObject:@"Help" forKey:@"HelpViewController"];
[menuDict setObject:@"About" forKey:@"AboutViewController"];

如何获取键列表并按照与该字典相同的顺序对它们进行排序?谢谢!

最佳答案

你不能,NSDictionary 不保存添加项目的顺序。为此,您应该使用 NSArray

以下是您如何使用它的示例:

NSArray *menuArray = @[
@{ @"Title" : @"Main Menu", @"Controller" : @"EntryViewController"},
@{ @"Title" : @"States Lookup", @"Controller" : @"AllStatesViewController"},
@{ @"Title" : @"Favorites", @"Controller" : @"FavoritesViewController"},
@{ @"Title" : @"Help", @"Controller" : @"HelpViewController"},
@{ @"Title" : @"About", @"Controller" : @"AboutViewController"},
];

通过这种方式,您甚至可以在字典中为订单添加一个额外的键,这样,如果您稍后需要在菜单中插入项目,您可以稍后对其进行排序。

关于ios - 使用自定义顺序对 NSArray 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20475593/

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