2

我正在使用目标 c 创建一个包含可变长度数组的结构。我知道你可以像这样创建一个长度为 n 的数组:

double array[n];

而且我也相信 C++ 你可以声明:

vector<double> array;

您不必声明数组长度。有没有办法在目标 c 中做类似的事情?我正在使用 ARC。

在此先感谢,本

4

1 回答 1

3

你只需要创建一个 NSMutableArray 就像 -

NSMutableArray *myArray = [NSMutableArray array];

[myArray addObject:....];// Add as many object as you want.

你只需要在创建可变长度数组时注意一件事,不要将 nil 添加为对象,因为 nil 只是表示可变长度参数列表的结尾。

编辑-可能会帮助您-通过这种方式,您可以在结构中定义目标 c 数据类型-

typedef struct{ 
    int numInputs; 
    __unsafe_unretained NSMutableArray *array;
} Pin;
于 2012-05-09T14:15:28.207 回答