如何从Array中的字符串数组中获取每个值

时间:2016-06-21 12:08:49

标签: ios objective-c xcode nsstring nsarray

我在一个名为officeList的数组中有一个数组,格式如下: -

(
        (
        Prospect,
        Propose
    ),
        (
        Open,
        Fund,
        Propose
    ),
        (
        Settle,
        Review
    )
)

问题是我通过将JSON文件转换为数组来获得此数组,因此我在数组中获得了这个字符串数组。我想要的是逐个获取每个值,如:“前景”,“建议”等等。

我使用以下代码来获取数据:

for (int i = 0;i<[_officelist count];i++)
{
    id val=[officeSize objectAtIndex:i];
    CGFloat val1=[val floatValue];
    UILabel *newLabel = [[UILabel alloc] initWithFrame:CGRectMake(x, 20,val1,15)];

    newLabel.text=[NSString stringWithFormat:@"%@",_officelist[i]];

    newLabel.textAlignment = NSTextAlignmentCenter;


    [self.roadmapCollectionView addSubview:newLabel];

    x=x+val1;
    }

2 个答案:

答案 0 :(得分:2)

你试试这个吗?

NSMutableArray *arr = [[NSMutableArray alloc] init];
for (NSArray *objArr in jsonArr) {
    for (NSString *str in ObjArr) {
        [arr addObject:str];
    }
} 

此处jsonArr是您从响应中获取的数组。现在使用arr访问您想要的每个对象。

希望这会对你有所帮助

答案 1 :(得分:1)

应用以下代码,

for (int i = 0; i < [_officelist count]; i++)
{
    NSArray *valList=[_officelist objectAtIndex:i];

    CGFloat val1 = [valList floatValue]; // Your Float val


    for (int j = 0; j < [valList count]; j++)
    {
         UILabel *newLabel = [[UILabel alloc] initWithFrame:CGRectMake(x, 20,val1,15)];

         newLabel.text = [NSString stringWithFormat:@"%@",valList[j]];

         newLabel.textAlignment = NSTextAlignmentCenter;

         [self.roadmapCollectionView addSubview:newLabel];
    }

    x=x+val1;
}

希望这会对你有所帮助。