user3033493
user3033493

Reputation: 53

Convert NSarray to twodimensional array

I have a an one dimensional array which contains a vary numbers of object (depending on the userinput)

The NSArray is called homePlayersArray. This could example contain 2, 3, 5, 6, 4

The thing is i want to convert this to a two dimensional array where example.

{2,0}, {3,}, {5,0}, {6,0},{4,0}

the first value in the object will me by NSarray (called homepPlayersArray) and the second value will be 0.

What is the best way to obtain this?

Upvotes: 0

Views: 288

Answers (1)

AndyOS
AndyOS

Reputation: 3606

//Your original array
NSArray *homePlayersArray = [[NSArray alloc] initWithObjects:
                             [NSNumber numberWithInt:2],
                             [NSNumber numberWithInt:3],
                             [NSNumber numberWithInt:5],
                             [NSNumber numberWithInt:6],
                             [NSNumber numberWithInt:4],nil];

//For your 2D array
NSMutableArray *secondArray = [[NSMutableArray alloc] initWithCapacity:[homePlayersArray count]];

//populate as required
for(int i=0;i<[homePlayersArray count];i++){
    NSArray *tempArray = [[NSArray alloc] initWithObjects:[homePlayersArray objectAtIndex:i],[NSNumber numberWithInt:0], nil];
    [secondArray addObject:tempArray];
}

//print out some results to show it worked
NSLog(@"%@%@",@"secondArray first object value 0: ",[[secondArray objectAtIndex:0] objectAtIndex:0] );
NSLog(@"%@%@",@"secondArray first object value 1: ",[[secondArray objectAtIndex:0] objectAtIndex:1] );
NSLog(@"%@%@",@"secondArray second object value 0: ",[[secondArray objectAtIndex:1] objectAtIndex:0] );
NSLog(@"%@%@",@"secondArray second object value 1: ",[[secondArray objectAtIndex:1] objectAtIndex:1] );

Upvotes: 1

Related Questions