繁体   English   中英

使用objectForKey从NSArray的NSDictionary获取NSarray

[英]Fetch NSarray from the NSDictionary of NSArray using objectForKey

我有一个NSArray包含n个NSDictionary sampleArray =

 (
            {
            0 = 0;
            1 = 0;
        },
            {
            0 = 86400;
            1 = 2;
        },
            {
            0 = 172800;
            1 = 4;
        },
            {
            0 = 259200;
            1 = 5;
        }

    )

现在,我需要获取objectForKey 0 [sampleArray objectForKey:[NSNumber numberWithInt:0]] NSArray,我的结果NSArray应该像(0,86400,172800,259200),但是我无法获取结果,应用崩溃。

通常对于NSDictionary,如果使用NSString valueForKey设置了键值,则可以成功执行上述操作,但是如果使用NSNumber objectForKey这样的对象设置了键值,则无法执行该操作。

请帮助我获得解决方案,任何建议将不胜感激!

这不起作用-对不起:我没有看到您没有将Strings作为键+我不知道KVC仅适用于字符串

我虽然离开


您正在寻找的是

NSArray *zeros = [mainArray valueForKey:@"0"];

它从数组中的每个字典获取“ 0”

如果您的键是NSNumber对象,这是一种非常简单的方法:

NSMutableArray *result = [[NSMutableArray alloc] init];
for (NSDictionary *d in a) {
    if (d[@0]) {
        [result addObject:d[@0]];
    }
}

你所要做的是

  NSMutableArray *arrResult = [[NSMutableArray alloc]init];
 for(int i=0;i<[sampleArray count];i++)
  {
    NSString *strValue = [[sampleArray objectAtIndex:i] valueforkey:@"0"];

   [ arrResult addobject:strValue];
 }

让我知道它是否有效!!!!

快乐编码!!!

在这里你可以尝试NSArray * tempArray

for (NSDictionary *list in tempArray)
{
    [firstArray addObject:[list objectForKey:@"0"];
    [secondArray addObject:[list objectForKey:@"1"];
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM