从iphone sdk中的数组数组中复制所有元素?

时间:2012-10-04 11:44:34

标签: iphone arrays nsmutablearray

我收到服务器中的一系列元素作为Web服务响应。我很困惑如何处理它。我需要将这些项目放在一个阵列中。

(
    (
            (
        10,
        5,
        5,
        5,
        5,
        5,
        5,
        5,
        5,
        5,
        5,
        5,
        5,
        5,
        5,
        5,
        5,
        10,
        5,
        5,
        10,
        10,
        50
    )
)
 )

我需要单个数组中的所有对象。 所以它应该看起来像

  (
    10,
    5,
    5,
    5,
    5,
    5,
    5,
    5,
    5,
    5,
    5,
    5,
    5,
    5,
    5,
    5,
    5,
    10,
    5,
    5,
    10,
    10,
    50
  )

3 个答案:

答案 0 :(得分:0)

假设 yourArray 是从上面显示的服务器获取的数组,请执行此操作

NSArray *singleArray=[[NSArray alloc] initWithArray:[[yourArray objectAtIndex:0]objectAtIndex:0]];

答案 1 :(得分:0)

这是为了您理解阵列中的格式: 在第一个索引,即0,你有一个数组。再次在索引0处的数组中,您获得了深度数组。

只需访问它,如:

NSMutableArray *finalArray = [[yourArray objectAtIndex:0]objectAtIndex:0];
NSLog(@"final Array %@",finalArray);

答案 2 :(得分:0)

更好的方法是实现for循环,如果结果为你提供了一个包含多个数组的数组

NSArray *aryContents; // Your Input array
NSMutableArray *aryEditable = [[NSMutableArray alloc] init];
for (NSArray *adult in aryContents) {
    for (NSArray *child in adult) {
        [aryEditable addObjectsFromArray:child];
    }
}
NSArray *aryFullList = [[NSArray alloc] initWithArray:aryEditable];
[aryEditable release];