【问题标题】: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

【问题讨论】:

    标签: objective-c xcode nsarray nsdictionary


    【解决方案1】:

    您的问题包含很多其他问题,我将尝试解决其中一些与将字典转换为数组有关的问题。

    1. 存储所有密钥

      NSArray *dictKeys=[dict allKeys];
      
    2. 存储所有值

      NSArray *dictValues=[dict allValues];
      
    3. 如果你想同时存储键和值:

      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”。
      猜你喜欢
      • 1970-01-01
      • 2018-04-25
      • 2023-03-10
      • 2021-10-29
      • 1970-01-01
      • 2013-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多