如何从另一个数组创建一个对象的两个 valueForKey 元素的 NSArray

Posted

技术标签:

【中文标题】如何从另一个数组创建一个对象的两个 valueForKey 元素的 NSArray【英文标题】:How to create a NSArray of two valueForKey elements of an object from another array 【发布时间】:2013-04-30 01:35:55 【问题描述】:

我想创建一个 NSStrings 的 NSArray,它是我原始 NSArray 中找到的 NSDictionary 中的两个元素的连接值。我知道有点复杂,但我觉得我快到一半了,我也会描述我在哪里。

所以我有一个 NSDictionaries 的 NSArray,NSDictionaries 看起来像这样 -

NAME 
NICK NAME
YEAR
LEGAL

我想获取每个字典的 Name 和 Nick name 值并将它们形成一个 NSArray 的 NSStrings 看起来像这样

Name (Nick Name)

但我对如何正确执行此操作有点茫然,我已经达到了 For 循环大声笑

 for (int i = [dataArrayOfDictionaries count]; i <= [dataArrayOfDictionaries count]; i++) 

    

我的主要问题是,如何访问数组的每个 NSDictionary 对象的这些 Name 和 Nick Name 元素。

那我怎么把它们像上面的例子一样放到一个格式化的字符串中,然后放到自己的NSArray中

任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

所以,如果我理解正确,您想从存储在数组中的每个字典中获取名称和昵称,然后将两者结合起来放入一个新数组中?试试这样的:

NSMutableArray *yourNewMutableArray = [[NSMutableArray alloc]init];

for(NSDictionary *dict in dataArrayOfDictionaries)

    NSString *realName = [dict objectForKey:@"NAME"];
    NSString *nickName = [dict objectForKey:@"NICK NAME"];

    NSString *combined = [[[realName stringByAppendingString:@" ("]stringByAppendingString:nickName]stringByAppendingString:@")"];
    [yourNewMutableArray addObject:combined];

【讨论】:

cool 会试试这个。从你的解释来看是的,这正是我想要做的。 字。我刚刚编辑它以从 nsmutabledictionary 更改为 nsdictionary 因为我认为这就是你使用的? 很酷,所以我刚刚尝试过,但我在这一行遇到了这个奇怪的错误** NSString realName = [dict objectForKey@"NAME"];* 说这个预期的']' 哦,是的,您在 @ 之前缺少一个冒号 或者实际上是我的错......我是哈哈......在飞行中打字,只是编辑它

以上是关于如何从另一个数组创建一个对象的两个 valueForKey 元素的 NSArray的主要内容,如果未能解决你的问题,请参考以下文章

如何从另一个类中定义的类创建数组

通过索引从数组中获取对象,即从另一个数组中获取

如何创建两个从另一个派生的 ATL 接口?

将数组从另一个类的构造函数传递给类函数

比较两个对象之间的实例。 C ++

如何从另一个数组中的 JSON 对象中提取值?