我有一个自定义对象,我试图在其中编写一个返回CGPoint
结构数组的便利类方法。这样做的原因是有几种方法,例如将CGPathAddLines
其作为参数,而类方法可以让我免于CGPoint
每次将自定义对象转换为结构数组。不幸的是,我不确定实现这一目标的最佳方法,尤其是在内存管理方面。
到目前为止,这是我的实现:
+ (CGPoint*)CGPointsFromData:(NSArray*)data
{
CGPoint *points = (CGPoint*)malloc(data.count * sizeof(CGPoint));
DataPoint *dataPoint;
int i = 0;
for (id object in data) {
if ([object isKindOfClass:[DataPoint class]]) {
dataPoint = (DataPoint*)object;
points[i] = dataPoint.point;
i++;
}
}
return points;
}
编辑:如果不清楚,DataPoint
该类有一个 property CGPoint point
。