Iphone NSDictionary到包含键和值的NSArray
我不知道是否有一个简单的方法来实现这一点,或者我需要实现自己的算法 这是我的字典: 这就是我想要的(NSArray): 我在寻找一种简单的方法,以防我需要自己做算法尝试以下方法:Iphone NSDictionary到包含键和值的NSArray,iphone,objective-c,ios,nsarray,nsdictionary,Iphone,Objective C,Ios,Nsarray,Nsdictionary,我不知道是否有一个简单的方法来实现这一点,或者我需要实现自己的算法 这是我的字典: 这就是我想要的(NSArray): 我在寻找一种简单的方法,以防我需要自己做算法尝试以下方法: NSMutableArray *allObjs = [[NSMutableArray alloc] initWithArray:[d allKeys ]]; [allObjs addObjectsFromArray:[d allValues]]; 试着这样做: NSMutableArray *allObjs = [[
NSMutableArray *allObjs = [[NSMutableArray alloc] initWithArray:[d allKeys ]];
[allObjs addObjectsFromArray:[d allValues]];
试着这样做:
NSMutableArray *allObjs = [[NSMutableArray alloc] initWithArray:[d allKeys ]];
[allObjs addObjectsFromArray:[d allValues]];
您可以在
NSDictionary
上迭代并添加如下键和值:
NSMutableArray *array = [NSMutableArray array];
[may enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop)
{
[array addObject:key];
for (int i = 0; i < [obj count]; i++){
[array addObject:[obj objectAtIndex:i]];
}
}];
NSMutableArray*array=[NSMutableArray];
[may enumerateKeysAndObjectsUsingBlock:^(id键、id对象、布尔*停止)
{
[数组addObject:key];
对于(int i=0;i<[obj计数];i++){
[array addObject:[obj objectAtIndex:i]];
}
}];
您可以遍历NSDictionary
并添加如下键和值:
NSMutableArray *array = [NSMutableArray array];
[may enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop)
{
[array addObject:key];
for (int i = 0; i < [obj count]; i++){
[array addObject:[obj objectAtIndex:i]];
}
}];
NSMutableArray*array=[NSMutableArray];
[may enumerateKeysAndObjectsUsingBlock:^(id键、id对象、布尔*停止)
{
[数组addObject:key];
对于(int i=0;i<[obj计数];i++){
[array addObject:[obj objectAtIndex:i]];
}
}];
这会尊重键和值的顺序吗?我感觉将是一个键数组,后跟一个值数组。不,唯一的顺序是-键,那么值字典没有顺序。其他答案将保持键和值的关联,但任何两个调用都可能生成不同顺序的结果。这会尊重键和值的顺序吗?我感觉将是一个键数组,后跟一个值数组。不,唯一的顺序是-键,那么值字典没有顺序。其他答案将保持键和值的关联,但任何两个调用都可能生成不同顺序的结果。我让它工作了,但这并不是我想要的,谢谢anyway@AntonioMG,我认为您需要在迭代之前对键和值进行排序,因为字典是无序的。嗨,我修改了您的响应以使其工作!非常感谢,这是辉煌和快速!您可以通过将其替换为[array addObjectsFromArray:obj]来消除这种内部外观代码>我成功了,但这并不是我想要的,谢谢anyway@AntonioMG,我认为您需要在迭代之前对键和值进行排序,因为字典是无序的。嗨,我修改了您的响应以使其工作!非常感谢,这是辉煌和快速!您可以通过将其替换为[array addObjectsFromArray:obj]来消除这种内部外观代码>