如何将字典数据添加到数组中?
Posted
技术标签:
【中文标题】如何将字典数据添加到数组中?【英文标题】:how to add dictionary data in to an array? 【发布时间】:2013-01-24 06:50:07 【问题描述】:我已经制作了一个数组和一个字典。现在我想将字典的值放入数组中。我对目标 C 很陌生,所以请帮忙。 “视图控制器.m”
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad
[super viewDidLoad];
marray = [[NSMutableArray alloc]initWithObjects:@"1",@"2",@"3",@"4", nil];
marray = [[NSMutableArray alloc]initWithObjects:@"6",@"7",@"8",@"9",@"10", nil];
[self displayarray];
[marray release];
mDictionary = [[NSMutableDictionary alloc]init];
[mDictionary setValue:@"sdfsdhfg" forKey:@"firstname"];
[mDictionary setValue:@"kvxv" forKey:@"lastname"];
[self displaydict];
[mDictionary release];
-(void)displaydict
CFShow(mDictionary);
-(void)displayarray
for (int i = 0; i<[marray count]; i++)
NSLog(@"the array data present at %d index is %@",i,[marray objectAtIndex:i]);
- (void)didReceiveMemoryWarning
[super didReceiveMemoryWarning];
@end
【问题讨论】:
【参考方案1】:您的问题包含很多其他问题,我将尝试解决其中一些与将字典转换为数组有关的问题。
存储所有密钥
NSArray *dictKeys=[dict allKeys];
存储所有值
NSArray *dictValues=[dict allValues];
如果你想同时存储键和值:
NSArray *keysAndValues=[dictKeys arrayByAddingObjectsFromArray:dictValues];
编辑:
由于您需要 NSMutableArray,您可以使用:
NSMutableArray *dictAllKeys=[NSMutableArray arrayWithArray:[dict allKeys]];
NSMutableArray *dictAllValues=[NSMutableArray arrayWithArray:[dict allValues]];
NSMutableArray *keysAndValues=[NSMutableArray arrayWithArray:[dictAllKeys arrayByAddingObjectsFromArray:dictAllValues]];
【讨论】:
但是如果我使用 NSMutableArray 而不是 NSArray 它不起作用..你能详细说明一下吗?谢谢。 没什么大问题... NSArray 包含的任何方法都由 NSMutableArray 继承...在少数情况下您需要稍作调整...我将在几秒钟内更新我的答案【参考方案2】:for (NSDictionary *dictionary in arrayname)
NSMutableArray *array = [dictionary objectForKey:@"writeKey"];
这可能对你有帮助
【讨论】:
【参考方案3】:如果您想访问 Dictionary 的值,请使用特定的键值。为此,请使用以下格式。
NSArray *yourarray=[YourDictionary ObjectForKey:@"KEY"];
希望对你有帮助。
【讨论】:
O
of objectForKey 应该很小,并且给定的键只有一个对象,它必须是一个数组来存储在 yourArray 中。
“ObjectForKey”将返回任何可能是数组或一个对象的对象,这不是问题。如果您想要其他解决方案,为什么不在 Dictionary 中查找“ObjectAtIndex”。以上是关于如何将字典数据添加到数组中?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 insertRowsAtIndexPaths 将数组内的字典添加到 UItableview?