我正在加快使用 ARC 进行 iOS 应用程序开发的速度。有时,我只需要一个普通的旧 c-struct 的普通 ole c-array 即可完成工作。在 ARC 之前,我只想添加free()
到我的dealloc
方法中。有了 ARC,就不再需要dealloc
. 我可以添加一个 ARC 指令来告诉编译器处理释放我的 c 数组吗?
Per Tom 的回答是 dealloc 方法
// EIVertex
struct EIVertex {
GLKVector3 p;
GLKVector3 n;
GLKVector3 barycentric;
GLKVector2 st;
};
typedef struct EIVertex EIVertex;
// ivar declaration
EIVertex *_vertices;
// malloc an array of EIVertex
_vertices = (EIVertex *)malloc([_triangles count] * sizeof(EIVertex));
// Note lack of [super dealloc]
- (void)dealloc{
// ARC will not handle mem. management for plain ole c arrays.
free(_vertices);
}