2011-01-20 59 views
1

到目前爲止,我對Objective-C和Cocoa框架留下了非常深刻的印象,但我不得不說我最好的方式是創建一個CLLocationCoordinate2D數組傳遞給polylineWithCoordinates:count:我很確定這是我需要設置數組的方式。使用CLLocationCoordinate2D填充malloc-ed數組

NSUInteger numPoints = [locationData count]; 
CLLocationCoordinate2D *arrayPtr = malloc(numPoints * sizeof(CLLocationCoordinate2D)); 

但我不知道如何訪問的每個位置,我想我可以用arrayPtr [I],但我似乎無法得到那個才能正常工作。

for(NSUInteger counter=0; counter<numPoints; counter++) { 
    arrayPtr[counter] = [[locationData objectAtIndex:counter] coordinate]; 
} 

編輯:

我現在的工作,我是看內存錯誤的調試器,但有另一種方式(也許沒有malloc的)我曾嘗試使用NSValue在一個NSArray編碼值,才發現,我需要一個C型陣列,而不是:(任何替代方法將是最受歡迎的

回答

1

這應該是有效的? - 你得到了什麼錯誤

一個更好的辦法可能是使用CFArray而不是手動管理malloc

+0

嗡嗡聲我知道這是一個古老的問題,但請您告訴我們更多關於CFArray課程的信息,以便完成答案嗎?即使在導入了corefoundation庫之後,我仍然得到了_Unknown類型的CFArray,你的意思是NSArray?_當我聲明`CFArray * myArray;`時。謝謝。 – Lucien 2013-05-16 12:23:07