declaring array of an object X with unknown size objective c

前端 未结 2 2099
清酒与你
清酒与你 2021-01-26 07:04

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

相关标签:
2条回答
  • 2021-01-26 07:40

    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.

    0 讨论(0)
  • 2021-01-26 07:41

    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.

    0 讨论(0)
提交回复
热议问题