You are add to much C to do this. This is important to know how to NSMutableArray works and how it's different compare to 2D arrays known from C/C++.
In mutable array you could store another arrays. For example:
NSMutableArray *first = [[NSMutableArray alloc] init];
NSMutableArray *second = [[NSMutableArray alloc] init];
[first addObject:second];
Now you have array in first row in first array! This is something very like C/C++ 2D arrays.
So if you want to add some object to "0,0" you do this:
NSString *mytest = [[NSString alloc] initWithString:@"test"];
[second addObject:mytest];
[first addObject:second];
So now your second contains NSStrings and first contains second. Now you can loop this like you want.
----EDIT:
IF you want 1,0 you simply need another instance of second NSMutableArray. For example you have this array:

So here you will be have 3 elements in second array.
NSMutableArray *first = [[NSMutableArray alloc] init];
for(int i =0 ; i < your_size_condition ; i++) {//if you have size, if don't not a problem, you could use while!
NSArray *second = [[NSArray alloc] initWithObjects:"@something",@"somethingelse",@"more",nil];
[first addObject:second];
}
You may want to implement NSCopying protocol to do this.
NSMutableArray(orNSArray) objects to your originaltestList, because there is no multi dimension array in objective-c; you could use theNSMutableDictionary(orNSDictionary) with KVC; or you could combined them with each other; or you could useNSMutableSet(orNSSet) or you could combine everything with everything... everything is highly limitless, it depends on what kind of data you'd like to represent.