【问题标题】:Help me on NSMutableDictionary帮助我了解 NSMutableDictionary
【发布时间】:2011-08-22 08:41:32
【问题描述】:

我想根据玩家人数对 NSMutableDictionary 值进行排序?

我也想知道如何添加具有不同值的静态内容,如下所示

myDictionary = [NSMutableDictionary dictionary];

[myDictionary setValue:[NSNumber numberWithInt:10] forKey:@"no_of_players"];
[myDictionary setValue:[NSNumber numberWithInt:3] forKey:@"difficulty_level"];
[myDictionary setValue:[NSNumber numberWithInt:120]] forKey:@"duration_excercise"];
[myDictionary setValue:[NSNumber numberWithInt:1] forKey:@"Excercise_id"];

感谢您的帮助

【问题讨论】:

  • 嗨..我想在其中添加另一组值..我不确定该怎么做..请帮助
  • 您是否将NSMutableDictionary 的实例用作域对象?在这种情况下,您应该认真考虑创建一个适当的域类。这样您就不必在 NSNumber 实例之间进行转换,您还可以为该域对象实现自定义的 compare: 方法,以用于排序。

标签: iphone ios4


【解决方案1】:

使用这个排序,你的数组包含 nsmutabledictionaries 然后你可以按这个排序

NSSortDescriptor *sort = [[NSSortDescriptor alloc] initWithKey:@"no_of_players" ascending:YES];
    NSArray *arr=[NSArray arrayWithObject:sort];
    [yourArray sortUsingDescriptors:arrr];

【讨论】:

    【解决方案2】:

    NSDictionary 本质上是未排序的。 allKeysallValues 检索到的对象的顺序将始终未确定。即使您对顺序进行逆向工程,它仍可能在下一次系统更新中发生变化。

    然而,allKeys 有更强大的替代方法,用于以已定义且可预测的顺序检索密钥:

    • keysSortedByValueUsingSelector: - 用于按升序排序 根据compare:的方法 值对象。
    • keysSortedByValueUsingComparator: - iOS 4 中的新功能,使用块来执行 内联排序。

    【讨论】:

      【解决方案3】:

      您已经回答了在问题本身中附加静态内容的问题部分。 关于排序检查以下链接:

      Sort an NSMutableDictionary

      【讨论】:

      • @pravin:嗨..我想在其中添加另一组值..我不知道该怎么做..请帮忙
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-27
      • 2018-08-11
      • 1970-01-01
      • 2011-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多