如何从另一个数组创建一个对象的两个 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的主要内容,如果未能解决你的问题,请参考以下文章