How would I go about declaring an array in the .h file of an unknown size that I will calculate say in the a function inside the class ?
For example, I might have 20 or
You have two choices.
1) Make it an NSArray of NSArrays, or
2) Declare it as:
NSArray **arrays_of_unknown_size;
Then you can malloc/calloc the pointer when you know the actual size. Then you need to assign an NSArray to each element of the C-array.
Like rmaddy says, you can just allocate the array with malloc:
arrays_of_unknown_size= (NSArray**)malloc(N*sizeof(NSArray*));
You can also reallocate it with realloc, and the size may change.
Another way is to use an array containing an array:
NSMutableArray* array_of_unknown_size=[[NSMutableArray alloc]init];
Then when the array is already populated, get the single array that you want:
NSArray* myArray=[array_of_unknown_size objectAtIndex: myIndex];
Of course arrays_of_unknown_size is too long, don't use this name, it's just an example.