我想知道如何在方法中返回float数组。
在以下方法中:
- (float *) ......{
float * result = malloc(sizeof(float) * number);
....
return result;
}
我的问题是我没有清理结果浮点数组。我怎么能这样做?
答案 0 :(得分:4)
我的问题是我没有清理结果浮点数组。
这是调用你的方法返回float数组的人的工作:现在他拥有它,所以他必须在它上面调用free
。
通常,有两种情况:
free()
方法,并在数组上调用dealloc
从那里变量。答案 1 :(得分:0)
Apple有方法名称约定,描述了如何做到这一点。在您的情况下,您必须使用create
前缀启动方法,并在不再需要时清理已分配的内存:
float* CreatePointsArray()
{
float* result = malloc(sizeof(float) * number);
....
return result;
}
...
points = CreatePointsArray();
...
free(points);
查看更多here
最好将其纳入标准NSArray
。但是,如果你这样做,最好是创建函数而不是方法类。