到目前为止,Objective-C和Cocoa框架给我留下了深刻的印象,但我不得不说,我对创建一个CLLocationCoordinate2D数组传递给polylineWithCoordinates:count:我非常确定这就是我需要的设置数组的最好方法感到有点困惑。
NSUInteger numPoints = [locationData count];
CLLocationCoordinate2D *arrayPtr = malloc(numPoints * sizeof(CLLocationCoordinate2D));但我不确定如何访问每个位置,我想我可以使用arrayPtri,但我似乎无法让它正常工作。
for(NSUInteger counter=0; counter<numPoints; counter++) {
arrayPtr[counter] = [[locationData objectAtIndex:counter] coordinate];
}编辑:
我现在让它工作了,我在调试器中错误地查看了内存,但是有没有其他方法(可能没有malloc)我确实尝试过使用NSValue对NSArray中的值进行编码,结果却发现我需要一个c类型的数组:(任何替代方法都将是最受欢迎的。
发布于 2011-01-21 04:07:24
这应该是有效的-你得到了什么错误?
更好的方法可能是使用CFArray,而不是手动管理malloc。
https://stackoverflow.com/questions/4751980
复制相似问题