【问题标题】:iOS - Add NSDictinary key values into an NSArray sequencialyiOS - 将 NSDictionary 键值按顺序添加到 NSArray
【发布时间】:2015-08-25 06:50:25
【问题描述】:

我有一个NSDictionary 和一个NSArray

self.dataDic = [[[NSDictionary alloc] init] autorelease];
self.dataDicKey = [[[NSArray alloc] init] autorelease];

这些是我NSDictionary的key和value:

    self.dataDic =
    @{@"Ring Cloud" :@[@"Contact Cloud", @"Image Cloud", @"Data Cloud"],
      @"Ring Tools" :@[@"Sticker Market", @"Live Poll", @"Mail"],
      @"Ring Apps"  :@[@"Studio", @"Player"]};

现在我想要将我的self.dataDic 的所有 key 值依次插入到self.dataDicKey 中。这意味着它看起来像这样:

self.dataDicKey = [[[NSArray alloc] initWithObjects:@"Ring Cloud", @"Ring Tools", @"Ring Apps",nil] autorelease];

我试过这个:

self.imageDicKey = [[[self.imageDic allKeys] reverseObjectEnumerator] allObjects];

但它实际上并没有对值进行排序。如果有人有任何建议,请与我分享。

非常感谢。

【问题讨论】:

  • 你想要达到什么目的?我无法理解你的问题
  • 我已经编辑了我的帖子。请看。
  • 据我所知,allKeys 方法只返回 NSArray 的键。不分先后
  • 您可以尝试使用一些标签进行保存,然后对它们进行相应的排序
  • 你也可以试试 NSPredicate

标签: ios objective-c nsarray nsdictionary nsmutabledictionary


【解决方案1】:

如果您想在您的NSArray 中将keys 设为objects,您应该尝试此方法

self.DataDicKey = [[NSArray alloc]initWithArray:[self.imageDic allKeys]];

要记住一点,NSDictionary allKeys 方法只返回键,而不管它们的保存顺序如何。作为它的KVP

这会将您的 NSDictionary 密钥复制到 NSArray

【讨论】:

    【解决方案2】:

    NSDictionary 键未排序 - 也许您可以在将数据输入字典之前将键保存在数组中

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-19
      相关资源
      最近更新 更多