我有NSDictionary
和NSArray
:
self.dataDic = [[[NSDictionary alloc] init] autorelease];
self.dataDicKey = [[[NSArray alloc] init] autorelease];
这些是我NSDictionary
的关键和价值:
self.dataDic =
@{@"Ring Cloud" :@[@"Contact Cloud", @"Image Cloud", @"Data Cloud"],
@"Ring Tools" :@[@"Sticker Market", @"Live Poll", @"Mail"],
@"Ring Apps" :@[@"Studio", @"Player"]};
现在我想要的是将self.dataDic
的所有键值依次插入self.dataDicKey
。这意味着它看起来像这样:
self.dataDicKey = [[[NSArray alloc] initWithObjects:@"Ring Cloud", @"Ring Tools", @"Ring Apps",nil] autorelease];
我试过这个:
self.imageDicKey = [[[self.imageDic allKeys] reverseObjectEnumerator] allObjects];
但它实际上没有对值进行排序。如果有人有任何建议,请与我分享。
提前多多感谢。
答案 0 :(得分:3)
如果您想在keys
中objects
NSArray
,请尝试使用此方法
self.DataDicKey = [[NSArray alloc]initWithArray:[self.imageDic allKeys]];
要记住,NSDictionary
allKeys方法只返回密钥,而不管它们的保存顺序。作为KVP
这会将您的NSDictionary
密钥复制到NSArray
答案 1 :(得分:1)
NSDictionary
键未排序 - 也许您可以在将数据输入字典之前将键保存在数组中