我有一個自定義對象,其中我試圖編寫一個返回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
類有一個屬性CGPoint point
。
您正在使用'_points'和'points',就好像它們是實例的'@ property's一樣,但您處於類方法中。你可以顯示'_points'(和'points'爲這個問題)在哪裏被聲明/初始化? – 2012-07-17 16:52:48
對不起,我糾正了它。我一直在亂搞我的代碼一段時間,所以我忘了改回一些東西。 – OpticalDelusion 2012-07-17 16:54:24