Objective c 可变长度c数组

Objective c 可变长度c数组,objective-c,arrays,variables,Objective C,Arrays,Variables,我正在使用objective c创建一个包含可变长度数组的结构。我知道您可以创建一个长度为n的数组,如下所示: double array[n]; 和我也相信C++可以声明: vector<double> array; 矢量阵列; 其中不必声明数组长度。在目标c中有没有类似的方法?我正在使用ARC 提前感谢Ben,您只需创建一个NSMutableArray,如- NSMutableArray *myArray = [NSMutableArray array]; [myArray

我正在使用objective c创建一个包含可变长度数组的结构。我知道您可以创建一个长度为n的数组,如下所示:

double array[n];

和我也相信C++可以声明:

vector<double> array;
矢量阵列;
其中不必声明数组长度。在目标c中有没有类似的方法?我正在使用ARC


提前感谢Ben,您只需创建一个NSMutableArray,如-

NSMutableArray *myArray = [NSMutableArray array];

[myArray addObject:....];// Add as many object as you want.
创建可变长度数组时只需注意一件事,不要将nil添加为对象,因为nil只是表示可变长度参数列表的结束

编辑- 可能下面的人会帮助你- 通过这种方式,您可以在struct中定义目标c数据类型-

typedef struct{ 
    int numInputs; 
    __unsafe_unretained NSMutableArray *array;
} Pin;

谢谢,但是结构中不能有NSMutableArray,是吗?-编辑:im使用ARCtypedef结构{int numInputs;双矢量权重[99];}引脚;结构中不能有可变长度数组。可以使用自定义类而不是结构,也可以使用指向结构中堆分配数组的指针。即“双倍重量”然后,
struct Pin;pin.vecWeight=malloc(sizeof(双)*计数)